Наступил на те же грабли что и остальные люди при использовании SQLITE, когда в цикле while получаются строки, но необходимо внутри цилка выполнить на каждую из строк еще запросы. Естественно получаю: "database is locked Unable to commit transaction"
Как заставить QSqlQuery забрать все данные и закрыть селект, после чего я уже смог бы пройтись по временному массиву и сделать все что мне надо ?
добавлено спустя: Сделал так:
while (querySQLITE.next());
querySQLITE.seek(-1);
while (querySQLITE.next())
{
...
Запросы внутри while теперь работают и я даже получаю данные, не смотря на то, что query ругается каждый раз на этой строке:
query.value(query.record().indexOf("name")).toString();
Врёт ведь гадина, все установлено на валидных записях, это подтверждает правильность возвращаемых значений запросом...
QSqlQuery::value: not positioned on a valid record