下面的方法可以避免这种错误:
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();
本文转自walker snapshot博客51CTO博客,原文链接http://blog.51cto.com/walkerqt/990874如需转载请自行联系原作者
RQSLT