Size: a a a

2020 January 28

JN

Joy Narical in Qt
Renat Garaev
Выведи в qDebug запрос , скопируй его текст и проверь, что он отрабатывает на самой базе данных sqlite. Скорее всего где то спец символы или ошибка запроса
Спасибо, пробую
источник

JN

Joy Narical in Qt
Работает запрос.
источник

JN

Joy Narical in Qt
Renat Garaev
Выведи в qDebug запрос , скопируй его текст и проверь, что он отрабатывает на самой базе данных sqlite. Скорее всего где то спец символы или ошибка запроса
Опять же, никаких ошибок не смог получить ни на одном этапе
источник

JN

Joy Narical in Qt
Оно просто молча ничего не делает и ни на что не ругается
источник

JN

Joy Narical in Qt
Может ли такое быть, что запуск строки
   
QSqlQuery query = QSqlQuery( db );

в одном месте программы больше не имеет смысла в другом?
По типу как коннект к базе создается один раз и переиспользуется потом?
источник

AS

Anatoly Shirokov in Qt
Joy Narical
Оно просто молча ничего не делает и ни на что не ругается
lastError проверяешь?
источник

JN

Joy Narical in Qt
Anatoly Shirokov
lastError проверяешь?
пусто везде. я чуть не после каждой строчки её в дебаг вывожу
источник

AS

Anatoly Shirokov in Qt
ну тогда необходим минимальный код, хотя бы схематично
источник

AS

Anatoly Shirokov in Qt
все в одном потоке происходит?
источник

JN

Joy Narical in Qt
в одном потоке
источник

JN

Joy Narical in Qt
myDebug() << db.tables();
   QSqlQuery query = QSqlQuery( db );
   myDebug() << "Query last error:" << query.lastError().text();
   query.prepare( "SELECT ... FROM ..." );
   query.exec();
   myDebug() << "Query last error:" << query.lastError().text();

выхлоп:

сперва список таблиц в базе, потом
Query last error: ""
Query last error: ""
источник

AS

Anatoly Shirokov in Qt
Joy Narical
myDebug() << db.tables();
   QSqlQuery query = QSqlQuery( db );
   myDebug() << "Query last error:" << query.lastError().text();
   query.prepare( "SELECT ... FROM ..." );
   query.exec();
   myDebug() << "Query last error:" << query.lastError().text();

выхлоп:

сперва список таблиц в базе, потом
Query last error: ""
Query last error: ""
давай для начала у db.lastError() выведем
источник

JN

Joy Narical in Qt
Anatoly Shirokov
давай для начала у db.lastError() выведем
пусто там
db.isValid выводит true
и список таблиц выводится
источник

AS

Anatoly Shirokov in Qt
или список таблиц она получает?
источник

AS

Anatoly Shirokov in Qt
Joy Narical
myDebug() << db.tables();
   QSqlQuery query = QSqlQuery( db );
   myDebug() << "Query last error:" << query.lastError().text();
   query.prepare( "SELECT ... FROM ..." );
   query.exec();
   myDebug() << "Query last error:" << query.lastError().text();

выхлоп:

сперва список таблиц в базе, потом
Query last error: ""
Query last error: ""
prepare/exec что возвращает?
источник

JN

Joy Narical in Qt
Anatoly Shirokov
prepare/exec что возвращает?
Внезапно, true
источник

AS

Anatoly Shirokov in Qt
а дальше после exec что происходит?
источник

JN

Joy Narical in Qt
while ( query.next() )
   {
      пытаюсь драть данные
   }

но если сразу после query.exec() вызвать query.size() выдаёт -1
источник

AS

Anatoly Shirokov in Qt
Joy Narical
while ( query.next() )
   {
      пытаюсь драть данные
   }

но если сразу после query.exec() вызвать query.size() выдаёт -1
numRowsAffected что возвращает?
источник

JN

Joy Narical in Qt
Anatoly Shirokov
numRowsAffected что возвращает?
это надо после exec или внутри цикла после next ?
источник