Название: Не выполняется запрос QSqlQueryModel Отправлено: Widget от Апрель 25, 2009, 22:17 Проблема.
Не выполняется запрос QSqlQueryModel, если подключение происходит с именем соединения, функция createConnection_2(). В итоге идет ошибка: QSqlQuery::exec: database not open Если использую функцию createConnection_1(), запрос выполняется, ошибки нет. _______________________________________________________ Заранее благодарю, за конструктивные ответы. Код: #include <QtGui> Название: Re: Не выполняется запрос QSqlQueryModel Отправлено: lit-uriy от Апрель 25, 2009, 22:24 версию Qt и СУБД, напиши.
Название: Re: Не выполняется запрос QSqlQueryModel Отправлено: Widget от Апрель 25, 2009, 22:39 Qt-4.3.2, MySQL-5.0.45, ASPLinux-12
версию Qt и СУБД, напиши. Название: Re: Не выполняется запрос QSqlQueryModel Отправлено: Пантер от Апрель 26, 2009, 10:25 Если собираешься делать одно подключение, псевдоним не нужно использовать. Сам на это попадал, но почему так не знаю.
Название: Re: Не выполняется запрос QSqlQueryModel Отправлено: lit-uriy от Апрель 26, 2009, 16:43 >>Если собираешься делать одно подключение, псевдоним не нужно использовать.
Пантер, я с только Огнптицем работаю, но такого не наблюдал. У меня в нескольких программах используется по одному соединению, и оно именованое. может это косячёк драйвера QMYSQL? Название: Re: Не выполняется запрос QSqlQueryModel Отправлено: Widget от Апрель 26, 2009, 18:20 Проблема в том, что подключений должно быть несколько :'(.
Если собираешься делать одно подключение, псевдоним не нужно использовать. Сам на это попадал, но почему так не знаю. Название: Re: Не выполняется запрос QSqlQueryModel Отправлено: Пантер от Апрель 26, 2009, 20:59 У меня косяк был с QSLite, делая один именованный коннект я получал облом, если два, то все нормально. Хотя, это было давно, может что-то изменилось, но с тех пор один коннект не именую.
Название: Re: Не выполняется запрос QSqlQueryModel Отправлено: ритт от Апрель 28, 2009, 09:39 мужики, вы чего? какая связь между именем соединения и работоспособностью запроса? скажу по секрету, имя используется только для поиска соединения в хэше.
Код: #include <QtGui> Название: Re: Не выполняется запрос QSqlQueryModel Отправлено: lit-uriy от Апрель 28, 2009, 17:11 2 Константин, тыб всё таки по явнее (есть такое слово или нет?) писал бы. Я вот даже сходу и не понял разницы. Хотя она вобщем-то должна быть очевидна:
Если используется соединение по умолчанию, то запрос устанавливается так: Код: model.setQuery("SHOW DATABASES;"); Код: model.setQuery("SHOW DATABASES;", QSqlDatabase::database("test")); Название: Re: Не выполняется запрос QSqlQueryModel Отправлено: ритт от Апрель 28, 2009, 17:38 для ясности - все соединения поименованные. соединение по умолчанию имеет захардкоденное имя, которое обычно опускается.
запросы (и модели на их основе) по умолчанию используют QSqlDatabase с именем по умолчанию. |