Russian Qt Forum
Сентябрь 29, 2024, 12:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QSqlQuery получить все данные и закрыть курсор.  (Прочитано 3139 раз)
SABROG
Гость
« : Май 11, 2007, 16:44 »

Наступил на те же грабли что и остальные люди при использовании 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
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.066 секунд. Запросов: 21.