![]() |
|
![]() ![]() ![]() |
|
cmi |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 2.11.2008 Репутация: нет Всего: нет |
Проблема.
Не выполняется запрос QSqlQueryModel, если подключение происходит с именем соединения, функция createConnection_2(). В итоге идет ошибка: QSqlQuery::exec: database not open Если использую функцию createConnection_1(), запрос выполняется, ошибки нет. Версии: Qt-4.3.2, MySQL-5.0.45, ASPLinux-12 _______________________________________________________ Заранее благодарю, за конструктивные ответы.
|
|||
|
||||
zloyGamer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 24.2.2008 Где: аватар какает Репутация: нет Всего: нет |
интересно...
bool createConnection_2() { QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL", "test"); ... } //я думаю что после этой строки деструктор QSqlDatabase уничтожает обьект db и соответственно все его соединения с бд советую сохранить где нибудь эту переменную и выполнить запрос так: model.setQuery("SHOW DATABASES;",db); но как почти тож самое работает с createConnection_1 - я без понятия ![]() |
|||
|
||||
cmi |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 2.11.2008 Репутация: нет Всего: нет |
zloyGamer
Сделал по Вашему совету, работает. Но появилась проблема, при закрытии окна идёт сообщение: QSqlDatabasePrivate::removeDatabase: connection 'test' is still in use, all queries will cease to work. Пробовал закрывать соединение, после выполнения запроса, не помогает. Как сделать, чтобы работало без предупреждений?
|
|||
|
||||
zloyGamer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 24.2.2008 Где: аватар какает Репутация: нет Всего: нет |
возможно тут:
QSqlQueryModel model; ... QComboBox* pComboBox = new QComboBox(&Widget); pComboBox->setModel(&model); QComboBox ты создаешь динамически, а QSqlQueryModel в стеке в мэйне, и привязываешь его к pComboBox который уничтожается приложением тока вместе с Widget. а когда уничтожается model? поидее должен после выхода из мэйна..., попробуй сделать это ЛИЧНО ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |