Название: Как правильно отключить БД? Отправлено: lrx2 от Декабрь 16, 2011, 23:16 Снова я.
При попытке Код: qDebug() << "BeforeDelete" << db.connectionNames(); Код: BeforeDelete ("qt_sql_default_connection") БД подключается сл. образом: Код: db = QSqlDatabase::addDatabase(tr("QPSQL")); Всмсле - очень хочется устранить надпись:" QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work." - ровно как и причину её появления.. Название: Re: Как правильно отключить БД? Отправлено: Странник от Декабрь 16, 2011, 23:31 читайте доки = )
Цитировать void QSqlDatabase removeDatabase ( const QString &connectionName ) [static] Removes the database connection connectionName from the list of database connections. Warning: There should be no open queries on the database connection when this function is called, otherwise a resource leak will occur. Example: Код: // WRONG The correct way to do it: Код: { Название: Re: Как правильно отключить БД? Отправлено: lrx2 от Декабрь 17, 2011, 00:49 Ага, спасибо.
Почему-то именно там, где надо, смотреть не стал... Т.е., чтоб QSqlDatabase::removeDatabase без ошибок и ругани сработал, надо и объект бд чтоб уже разрушился? ...Убрал объект QSqlDataBase из глобальной области видимости - он терь только в функции коннекта к базе есть. Код: QSqlDatabase::removeDatabase(QSqlDatabase::database().connectionName()); Название: Re: Как правильно отключить БД? Отправлено: arhohryakov от Декабрь 17, 2011, 01:48 Возможно у тебя база связана с моделями и отображениями.
Посмотри http://www.prog.org.ru/index.php?topic=20166.msg136812#msg136812 Название: Re: Как правильно отключить БД? Отправлено: lrx2 от Декабрь 17, 2011, 08:11 "Старый баян" уже видел.
Как уже писал выше, все вьюхи и пр. отключены. Код: QString qs; Всем спасибо) Название: Re: Как правильно отключить БД? Отправлено: AlekseyK от Январь 19, 2012, 05:49 Благодарю и мне помогло! :)
|