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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Последовательные запросы SQL vs Подключение к БД  (Прочитано 4210 раз)
bvn13
Гость
« : Август 06, 2011, 13:36 »

Уважаемые форумчане. Столкнулся с такой проблемой.

Делаю новое соединение с MySQL: QDatabese без идентификатора соединения.
Выполняю запрос, начинаю цикл по результатам запроса. Но мне нужно в каждой итерации цикла выполнять другой запрос SQL, я делаю его через новое подключение к БД без идентификатора соединения. Все бы хорошо, но... после первого "вложенного" запроса сбивается результат (QSqlQuery) внешнего запроса. Думается, что нужно использовать новое соединение с БД с каким-нибудь идентификатором, но это только предположение.

Подскажите мне, как правильней обойти эту ситуацию?
Записан
Странник
Гость
« Ответ #1 : Август 06, 2011, 13:51 »

при выполнении нового подключения по умолчанию (без идентификатора) старое подключение закрывается, ресурсы освобождаются и QSqlQuery инактивируются. так ли нужно устанавливать новое подключение для новых запросов? можете выполнять "вложенные" запросы из другого объекта QSqlQuery. или следить за тем, чтобы все открываемые одновременно подключения имели разные идентификаторы.
Записан
asvil
Гость
« Ответ #2 : Август 06, 2011, 14:19 »

Цитировать
Но мне нужно в каждой итерации цикла выполнять другой запрос SQL,
Реализуется подзапросом, но никак не циклами в си коде.
« Последнее редактирование: Август 06, 2011, 14:39 от Филоненко Михаил » Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #3 : Август 06, 2011, 14:33 »

Да можно делать QSqlDatabase с именем отличным от дефолнтоного, чтобы не удалялись предыдущие.
Но совершенно не очевидно, зачем для каждого запроса создавать новое подключение. Почему бы не создавать QSqlQuery для одного и того же подключения?
Записан
bvn13
Гость
« Ответ #4 : Август 06, 2011, 15:05 »

Сейчас попробую переделать все на одно подключение.
Я делал каждый раз разное - свое в каждом объекте класса. Сейчас буду передавать текущее.
Спасибо за оперативные ответы.

ЗЫ. А как работать с подзапросами?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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