На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела C/C++: Базы данных
Модераторы: B.V.
  
    > SQLite + MinGW + ?
      Привет!

      неожидано возник вопрос :D
      как вы юзаете 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
      или есть еще какие посоветуйте плз
        Юзаю Qt, но без него присмотрелся бы на это (по твоей первой ссылке - внизу есть список, там это есть). Что тут нужно - поддержка свежего Айпи, многопоточность, обработка исключений, современный диалект С++, приемлемая лицензия ... и то, что проект живой. Бегло по указанной ссылке это все есть. Хотя, конечно, лучше потестировать, повыбирать.
          Цитата JoeUser @
          Юзаю Qt, но без него присмотрелся бы на это (по твоей первой ссылке - внизу есть список, там это есть). Что тут нужно - поддержка свежего Айпи, многопоточность, обработка исключений, современный диалект С++, приемлемая лицензия ... и то, что проект живой. Бегло по указанной ссылке это все есть. Хотя, конечно, лучше потестировать, повыбирать.

          спс JoeUser посмотрю :yes:
          пока изучаю первую ссылку :)
          Сообщение отредактировано: Cfon -
            Добре! :)
            выбрал два варианта:
            https://github.com/aminroosta/sqlite_modern_cpp
            https://github.com/SRombauts/SQLiteCpp
            пока не решил какой юзать оба понравились :D

            вот пример на sqlite_modern_cpp:
            ExpandedWrap disabled
              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:
            ExpandedWrap disabled
              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;
                  }
              }

            особой разницы не увидел разве что в первом случае синтасис проще :)
            как то так :D
              Цитата Cfon @
              особой разницы не увидел разве что в первом случае синтасис проще

              Я тож именно на это обратил внимание. Бритва Оккама 4ever! :)
                Цитата JoeUser @
                Я тож именно на это обратил внимание. Бритва Оккама 4ever! :)

                бритва Оккама форева :writer:
                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,0261 ]   [ 17 queries used ]   [ Generated: 28.03.24, 13:41 GMT ]