下面的方法可以避免这种错误:
QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.
//为了支持中文 QTextCodec::setCodecForTr(QTextCodec::codecForLocale()); QSqlDatabase sqlDatabase; //与数据库建立连接 if (QSqlDatabase::contains("my_conn")) { sqlDatabase = QSqlDatabase::database("my_conn"); } else { sqlDatabase = QSqlDatabase::addDatabase("QSQLITE", "my_conn"); } //设置数据库名 sqlDatabase.setDatabaseName("my_database.db"); //打开数据库 if (!sqlDatabase.open()) { qDebug() << "Open database failed!"; return; } QString query_str = "select * from my_table"; //查询数据库 QSqlQuery sqlQuery(query_str, sqlDatabase); sqlQuery.exec(); while (sqlQuery.next()) { for (int i = 0; i < cnt; ++i) { qDebug() << sqlQuery.value(i).toString(); } } // 关闭数据库 sqlDatabase.close();