下面的方法可以避免这种错误:
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();