Снова я.
При попытке
qDebug() << "BeforeDelete" << db.connectionNames();
db.close();
QSqlDatabase::removeDatabase(db.connectionName());
qDebug() << "AfterDelete" << db.connectionNames();
В дебаг-консоль выводится:
BeforeDelete ("qt_sql_default_connection")
QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work.
AfterDelete ()
Никаких вьюшек\моделей\запросов к БД в проге нет.
БД подключается сл. образом:
db = QSqlDatabase::addDatabase(tr("QPSQL"));
if(!db.isValid()){
QString qs;
qs.append(tr("DLL драйверов для PostgreSQL не найдены:\n\n'%1;'").arg(db.lastError().text()));
qs.append(tr("\n\nDll должны располагаться по одному из путей : \n\n%1\n\n\n%2").arg(QApplication::libraryPaths() [0],QApplication::libraryPaths()[1]));
FATAL(qs);
return;
}
db.setHostName("localhost");
db.setDatabaseName("dlongbase");
db.setUserName("postgres");
db.setPassword("pswd");
db.setPort(5432);
if (!db.open()){
FATAL(tr("Невозможно подключиться к указанной БД:\n\n%1::%2").arg(db.hostName(), db.databaseName()));
return;
}
Что может быть не так?
Всмсле - очень хочется устранить надпись:"
QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work." -
ровно как и причину её появления..