int main(int argc, char *argv[]) { QApplication a(argc, argv);
QSqlDatabase db; db = QSqlDatabase::addDatabase("QMYSQL", "mysqlLocal"); db.setHostName("127.0.0.1"); db.setDatabaseName("express_plc"); db.setUserName("remoteuser"); db.setPassword("8ik,9ol"); if (!db.open()) { qDebug() << "database open failure"; qDebug() << db.lastError().text(); } else { qDebug() << "database open successful"; } if (!db.open()) { qDebug() << "database second open failure"; qDebug() << db.lastError().text(); } else { qDebug() << "database second open successful"; } db.close(); if (db.isValid()) qDebug("vaild!"); //db.removeDatabase("mysqlLocal");
{ QString name; name = QSqlDatabase::database("mysqlLocal").connectionName(); QSqlDatabase::removeDatabase(name); }
if (db.isValid()) qDebug("still vaild!"); return a.exec(); }
输出: database open successful database second open successful vaild! QSqlDatabasePrivate::removeDatabase: connection 'mysqlLocal' is still in use, all queries will cease to work.