Russian Qt Forum
Июля 06, 2025, 01:48 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Последовательные запросы SQL vs Подключение к БД  (Прочитано 4345 раз)
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.019 секунд. Запросов: 20.