duplicate connection name (SQLite)
Такая проблема
При использовании SQLite в Application Output (Qt Creator) регулярно (видимо, при обращении к БД) появляется одна и та же ошибка
Цитата:
QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.
При этом, программа продолжает работу дальше, и это, вроде бы, не мешает её работе
Правда, иногда программа самопроизвольно останавливается (работает в трее, в фоновом режиме, и прекращает работу)
В Qt Creator при этом в статусе написано Setting breakpoint...
Вот я и не знаю. может, эта остановка именно с этим и связана?
У кого-то была похожая ситуация, или просто знакомы с такими ошибками
Буду благодарен за любые советы
Вот как нужно было обращаться с соединением к БД:
Код:
DataBase::DataBase() {
if(QSqlDatabase::contains(QSqlDatabase::defaultConnection)) {
db = QSqlDatabase::database();
} else {
db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("scan.db3");
}
if (!db.open()) {
QMessageBox::critical(0, QObject::tr("Cannot open database"), db.lastError().text(), QMessageBox::Ok);
}
}
if(QSqlDatabase::contains(QSqlDatabase::defaultConnection)) {
db = QSqlDatabase::database();
} else {
db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("scan.db3");
}
if (!db.open()) {
QMessageBox::critical(0, QObject::tr("Cannot open database"), db.lastError().text(), QMessageBox::Ok);
}
}
То есть, если соединение уже есть, использовать нужно его
Этот код отрабатывает без ошибок в консоли, что радует :)