问题1:QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_connection_hvsdb' is still in use, all queries will cease to work.
// WRONG
QSqlDatabase db = QSqlDatabase::database("sales");
QSqlQuery query("SELECT NAME, DOB FROM EMPLOYEES", db);
QSqlDatabase::removeDatabase("sales"); // will output a warning
// "db" is now a dangling invalid database connection,
// "query" contains an invalid result set
//RIGHT
{
QSqlDatabase db = QSqlDatabase::database("sales");
QSqlQuery query("SELECT NAME, DOB FROM EMPLOYEES", db);
}
// Both "db" and "query" are destroyed because they are out of scope
QSqlDatabase::removeDatabase("sales"); // correct
QSqlDatabase::removeDatabase("sales") 之前要释放“sales”数据库:db = QSqlDatabase();