Название: Как отключить connect Отправлено: iks от Январь 26, 2011, 13:19 Используя QTabWidget, когда закрываю вкладку и потом открываю ее по новой то выдает предупреждение
QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed. как отключить преведущий конект и подключить по новой, или не подключатся по новой, а использовать уже имеющийся конект Код: // подключим mySQL Название: Re: Как отключить connect Отправлено: BRE от Январь 26, 2011, 13:26 Перенести код подключения к БД в другое место, например, в main()?
Название: Re: Как отключить connect Отправлено: iks от Январь 26, 2011, 13:29 Перенести код подключения к БД в другое место, например, в main()? То есть тогдаQSqlDatabase db; обьявлять глобально получается или цеплять по всему пути класcов. Название: Re: Как отключить connect Отправлено: BRE от Январь 26, 2011, 13:36 То есть тогда Зачем?QSqlDatabase db; обьявлять глобально получается или цеплять по всему пути класcов. Соединение всегда и везде можно получить через: QSqlDatabase QSqlDatabase::database ( const QString & connectionName = QLatin1String( defaultConnection ), bool open = true ) [static] Название: Re: Как отключить connect Отправлено: iks от Январь 26, 2011, 13:38 Спасиб буду экспереминтировать, если что не получится напишу, а заработает тоже напишу полный код ;)
Название: Re: Как отключить connect Отправлено: iks от Январь 26, 2011, 13:57 Не мне скорее всего это не подойдет, для одной БД нормально, но все равно ругается если подключение идет к другой БД, надо или connect к серверу ловить и отдельно по БД разгонять, или отключатся и подключатся по новой.
Название: Re: Как отключить connect Отправлено: BRE от Январь 26, 2011, 14:02 Не мне скорее всего это не подойдет, для одной БД нормально, но все равно ругается если подключение идет к другой БД, надо или connect к серверу ловить и отдельно по БД разгонять, или отключатся и подключатся по новой. Разберись, для чего используется connectionName в этих методах:QSqlDatabase QSqlDatabase::addDatabase ( const QString & type, const QString & connectionName = QLatin1String( defaultConnection ) ) [static] QSqlDatabase QSqlDatabase::database ( const QString & connectionName = QLatin1String( defaultConnection ), bool open = true ) [static] Для того, что бы разобраться как удалять соединения, воспользуйся поиском по форуму на тему removeDatabase. Название: Re: Как отключить connect Отправлено: iks от Январь 26, 2011, 15:26 Временно применил простое решение, ругатся перестало, в
main.cpp Код: #include <QtGui/QApplication> news.h Код: extern QSqlDatabase db; news.cpp Код: void newsClass::openTabMySql(QString dbName, QString tabName){ может кому пригодится, правда повторюсь прошел простым путем через глобальную переменную, по другому решу отпишусь |