[Решено]sqlite+qt



  • Возникли проблеммы с использованием Sqlite.
    @QSqlQuery query(db);
    query.exec"INSERT INTO tablename (colum1,colum2) VALUES (1,1),(1,1);"@

    две строки не добавляет и lastError() тоже молчит. Где капать, не подскажете?
    http://sqlite.org/lang_insert.html вроде несколько values должен поддерживать. Ставил SQLiteManager ввожу туда этот sql запрос всё работает, из Qt нет.

    @QSqlQuery query(db);
    query.exec"INSERT INTO tablename (colum1,colum2) VALUES (1,1);"@

    такой запрос с радостью выполняет.



  • Смотреть дальше можно в исходных кодах модуля QtSql и драйвера для sqlite.



  • [quote author="VanDerSam" date="1350460081"]Смотреть дальше можно в исходных кодах модуля QtSql и драйвера для sqlite.[/quote]

    Спасибо.
    т.е. возможно он обрабатывает как то QString, который передаётся в exec().
    А вообще как можно ускорить доабвление записей в SQLite? я хотел одним запросом сразу добавить дофига записей, но что то пока не выходит. если добавлять в цыкле

    @for (int i=0;i<count;++i
    {
    query.exec"INSERT INTO tablename (colum1,colum2) VALUES (1,1);"
    }@

    очень медленно. ~ 1 запись в секунду, при count = 1000 скорость убивает(



  • решил свой вопрос добавлением запросов PRAGMA synchronous=0
    благодаря статье http://krez0n.org.ua/archives/568


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.