Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.138.204.208] |
|
Сообщ.
#1
,
|
|
|
Привет!
неожидано возник вопрос как вы юзаете SQLite? непосредственно SQLite С API или обертку? если оберку то какую кроме Qt? нашел несколько: https://srombauts.github.io/SQLiteCpp/ http://www.codeproject.com/Articles/6343/C...pper-for-SQLite http://sqlitewrapper.kompex-online.com/ind...ontent=download или есть еще какие посоветуйте плз |
Сообщ.
#2
,
|
|
|
Юзаю Qt, но без него присмотрелся бы на это (по твоей первой ссылке - внизу есть список, там это есть). Что тут нужно - поддержка свежего Айпи, многопоточность, обработка исключений, современный диалект С++, приемлемая лицензия ... и то, что проект живой. Бегло по указанной ссылке это все есть. Хотя, конечно, лучше потестировать, повыбирать.
|
Сообщ.
#3
,
|
|
|
Цитата JoeUser @ Юзаю Qt, но без него присмотрелся бы на это (по твоей первой ссылке - внизу есть список, там это есть). Что тут нужно - поддержка свежего Айпи, многопоточность, обработка исключений, современный диалект С++, приемлемая лицензия ... и то, что проект живой. Бегло по указанной ссылке это все есть. Хотя, конечно, лучше потестировать, повыбирать. спс JoeUser посмотрю пока изучаю первую ссылку |
Сообщ.
#4
,
|
|
|
Добре!
выбрал два варианта: https://github.com/aminroosta/sqlite_modern_cpp https://github.com/SRombauts/SQLiteCpp пока не решил какой юзать оба понравились вот пример на sqlite_modern_cpp: int main() { try { sqlite::database db(":memory:"); db << "create table employee(" "first_name varchar(30)," "last_name varchar(30)," "age smallint);"; db << "insert into employee(first_name, last_name, age)" "values ('Woody', 'Alan', 45);"; db << "insert into employee(first_name, last_name, age)" "values ('Micheal', 'Bay', 38);"; db << "select * from employee;" >> [](std::string fname, std::string lname, int age){ std::cout << "['" << fname << "', '" << lname << "', " << age << "]\n"; }; db << "update employee set age = ? where rowid = ?;" << 55 << 1; db << "select * from employee where rowid = ?;" << 1 >> [](std::string fname, std::string lname, int age){ std::cout << "['" << fname << "', '" << lname << "', " << age << "]\n"; }; } catch (sqlite::sqlite_exception& e) { std::cerr << e.what() << std::endl; return EXIT_FAILURE; } } а это на SQLiteCpp: int main() { try { SQLite::Database db(":memory:",SQLite::OPEN_READWRITE); db.exec("create table employee(" "first_name varchar(30)," "last_name varchar(30)," "age smallint);"); db.exec("insert into employee(first_name, last_name, age)" "values ('Woody', 'Alan', 45);"); db.exec("insert into employee(first_name, last_name, age)" "values ('Micheal', 'Bay', 38);"); SQLite::Statement select1(db, "select * from employee;"); while (select1.executeStep()) { std::cout << "['" << select1.getColumn(0) << "', '" << select1.getColumn(1) << "', " << select1.getColumn(2) << "]\n"; } SQLite::Statement update(db, "update employee set age = ? where rowid = ?;"); update.bind(1, 55); update.bind(2, 1); update.exec(); SQLite::Statement select2(db, "select * from employee where rowid = ?;"); select2.bind(1, 1); while (select2.executeStep()) { std::cout << "['" << select2.getColumn(0) << "', '" << select2.getColumn(1) << "', " << select2.getColumn(3) << "]\n"; } } catch (std::exception& e) { std::cerr << "Exception: " << e.what() << std::endl; return EXIT_FAILURE; } } особой разницы не увидел разве что в первом случае синтасис проще как то так |
Сообщ.
#5
,
|
|
|
Цитата Cfon @ особой разницы не увидел разве что в первом случае синтасис проще Я тож именно на это обратил внимание. Бритва Оккама 4ever! |
Сообщ.
#6
,
|
|
|
Цитата JoeUser @ Я тож именно на это обратил внимание. Бритва Оккама 4ever! бритва Оккама форева |