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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: SQLITE+QT4.5 не получается выполнить Drop Table QSqlQuery  (Прочитано 14388 раз)
ритт
Гость
« Ответ #15 : Май 20, 2009, 17:41 »

а лучше бы послушал break'а...
Записан
grio
Гость
« Ответ #16 : Март 01, 2010, 02:58 »

Долго искал причину этой проблемы.
Нашел. Если функция, содержащаяя запрос DROP TABLE, запускается из
конструкции вроде if (query.next()) то возникает подобная ошибка.

Завтра буду решать QSqlQuery::value: not positioned on a valid record
Улыбающийся
Записан
break
Гипер активный житель
*****
Offline Offline

Сообщений: 846


Просмотр профиля
« Ответ #17 : Март 01, 2010, 10:30 »

Цитировать
Долго искал причину этой проблемы.
Нашел. Если функция, содержащаяя запрос DROP TABLE, запускается из
конструкции вроде if (query.next()) то возникает подобная ошибка.
если идти по таблице и тут же пытаться удалить ее - то вероятно сервер не даст т.к. таблица учавствует в незакрытой транзакции (sql курсор там активен)

Цитировать
Завтра буду решать QSqlQuery::value: not positioned on a valid recorde
а что тут решать?

query.first(); - или другой метод устанавливающий курсор на данные
Записан
grio
Гость
« Ответ #18 : Март 01, 2010, 14:51 »

Цитировать
если идти по таблице и тут же пытаться удалить ее - то вероятно сервер не даст т.к. таблица учавствует в незакрытой транзакции (sql курсор там активен)
Нет. Дело как раз в том, что выборка может быть из любой другой таблицы.
Это все равно вызовет ошибку.

Цитировать
а что тут решать?
query.first(); - или другой метод устанавливающий курсор на данные
Это все ты правильно говоришь. Однако я в этом случае ищу причину, а не борюсь со следствием.
Записан
break
Гипер активный житель
*****
Offline Offline

Сообщений: 846


Просмотр профиля
« Ответ #19 : Март 02, 2010, 00:53 »

Цитировать
Нет. Дело как раз в том, что выборка может быть из любой другой таблицы.
Это все равно вызовет ошибку.
у меня есть модуль который обновляет БД - он работает с FB

создает таблицы, создает/удаляет столбцы, удаляет таблицы, индексы и т.д. и ВСЕ работает!

Цитировать
Это все ты правильно говоришь. Однако я в этом случае ищу причину, а не борюсь со следствием.
сообщение
Цитировать
Завтра буду решать QSqlQuery::value: not positioned on a valid recorde
не имело никакого контекста - единственная ПРИЧИНА по которой оно выводится - попытка получать данные когда курсор запроса ( Query ) еще ни на что не установлен (сделали select но не сделали first() ). Это именно причина а не следствие - если есть другая причина для этого - приведи пример!
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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