Warnung entfernen Sie die Datenbank
meine code-Karte das nächste Warnung:
QSqlDatabasePrivate::removeDatabase: connection ‘qt_sql_default_connection’
is still in use, all queries will cease to work
Dies ist mein code, der die Verbindung mit der Datenbank ist in Ordnung:
QSqlDatabase database::db()
{
return m_db;
}
bool database::connect()
{
m_db = QSqlDatabase::addDatabase("QMYSQL");
m_db.setDatabaseName("aaaa");
m_db.setHostName("192.168.xxx.xxx");
m_db.setUserName("xx");
m_db.setPassword("xxxx");
m_db.setPort(1234);
return m_db.open();
}
void database::close()
{
QString connection;
connection = m_db.connectionName();
m_db.close();
m_db.removeDatabase(connection);
}
m_db ist zu definieren als:
QSqlDatabase m_db;
und mein test ist:
database db;
qDebug() << "CONNECT: " << db.connect();
db.close();
Wie kann ich es beheben?
Danke Ihnen sehr.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nachdem Sie es geschlossen,
m_db
hält noch eine Referenz auf die Datenbank, die Sie konfiguriertconnect()
.Können Sie zurücksetzen
m_db
durch zuweisen eines Standard gebautQSqlDatabase
:versuchen Sie dies, es wird funktionieren..
Hinzufügen eines zusätzlichen Bereichs funktioniert der gleiche trick: