下面的方法可以避免这种错误:
QsqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection',old connection removed.
原文链接:https://www.f2er.com/sqlite/201765.html
- //为了支持中文
- QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
- QsqlDatabasesqlDatabase;
- //与数据库建立连接
- 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()<<"OpendatabaseFailed!";
- return;
- }
- QStringquery_str="select*frommy_table";
- //查询数据库
- QsqlQuerysqlQuery(query_str,sqlDatabase);
- sqlQuery.exec();
- while(sqlQuery.next())
- {
- for(inti=0;i<cnt;++i)
- {
- qDebug()<<sqlQuery.value(i).toString();
- }
- }
- //关闭数据库
- sqlDatabase.close();