Details
-
Bug
-
Resolution: Invalid
-
P4: Low
-
4.3.2
-
None
Description
When running the following example where the datasource is an ODBC source to a MySQL database, then Qt prints
"QSqlDatabasePrivate::removeDatabase: connection 'MySQL' is still in use, all queries will cease to work."
There is no reason for this warning, all QSqlQuery objects have been destroyed.
#include <QCoreApplication> #include <QSqlDatabase> #include <QSqlQuery> #define CONNECTION_NAME "MySQL" #define DATABASE_NAME "MySQL" #define TABLE_NAME "dept" void func() { QSqlDatabase db = QSqlDatabase::addDatabase("QODBC", CONNECTION_NAME); db.setDatabaseName(DATABASE_NAME); if (db.open()) { QSqlQuery query(db); query.exec(QString("SELECT * FROM %1").arg(TABLE_NAME)); while (query.next()) ; } db.close(); QSqlDatabase::removeDatabase(CONNECTION_NAME); } int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); func(); return 0; }