Здравствуйте, zaufi, Вы писали:
Z>hi all!
Z>столкнулся с тем что нужно в текущем проекте поработать с базами чучуть... ничего такого особенного, простенькие запросы везде (никаких там join'ов, вложенных selectов и всего такого прочего %) -- тривиальные select/insert/update/delete.
Z>используем mysqlconnector-c++ и в принципе все нормально, но хочется чего-то такого эдакого ) -- и вот пописав desired code, получилось чего-то вроде:
Z>Z>db_connection.delete_from("table_name").where(field("id") == id_to_delete);
Z>sql::ResultSet result = db_connection.select("*").from("another_table").where(field("timestamp") > "2011-04-12 00:00:00" or field("status") == "urgent");
Z>db_connection.update("table_name").set(field("status") = "done").where(field("id") == some_id);
Z>
Z>отчасти мои изыскания вызваны тем что SQLные строки приходится клеить из имен полей/таблиц в перемешку с SQLными keywords, и чтото меня слегка утомило это занятие -- захотелось сахару
Z>просто хотел узнать может кто видел что-нить подобное? перед тем как я ломанусь это имплементить -- IMHO, вроде выглядит интуитивно понятным и достаточно простым, для тех кто знает SQL и пишет на С++... в приницпе, навскидку, можно наверное даже избавиться от вызовов field()... ничего особо сложного не вижу (упустил чтото? %) -- отчего бы не сделать... или может ктоньть скажет почему это делать не стоит ) вобщем any feedback welcome.
Я только на парочку натыкался
http://tomasp.net/blog/clinq-project.aspx
http://hjiang.net/archives/229
Но оба в убогом состоянии если чесно
Да и тут эта тема поднималась. Вон есть boost::proto для таких целей юзают
http://www.rsdn.ru/forum/cpp/3805048.flat.aspxАвтор: kvasya
Дата: 13.05.10