QT c++ 同时使用sqlite 和mysql数据库的问题

在项目开发中,同时使用了sqlite 和mysql数据库,分开这两部分运行功能都正常,但是一起运行,就异常,sqlite部分不能使用。

现象:出现如下提示

QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.

解决办法,addDatabase函数时候指定数据库类型和连接名称。

原因:如果不指定连接名称,则是默认连接'qt_sql_default_connection',那么两种数据库用

一个连接引起错乱。

The connection in the snippet will be the default connection, because we don't pass the second argument to addDatabase(), which is the connection name. For example, here we establish two MySQL database connections named "first" and "second":

原型:

[static] QSqlDatabase QSqlDatabase::addDatabase(const QString &type, const QString &connectionName = QLatin1String(defaultConnection))

//-------------以下是截取的代码-------------------

//---第1部分,DB是长连接

//...

DB = QSqlDatabase::addDatabase("QSQLITE","SQLiteConnection1");

//...

///---第2部分,db是短连接

//...

// if(QSqlDatabase::contains("MySQLConnection1"))//为避免重复,先移除掉

// QSqlDatabase::removeDatabase("MySQLConnection1");//

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL", "MySQLConnection1");

//...

db.close();

//...

相关推荐
王佑辉7 分钟前
【mysql】tinyint、int、bigint的区别
mysql
Yake196518 分钟前
正则表达式中^的用法
数据库·mysql·正则表达式
龙少954328 分钟前
【linux下mysql主从复制操作流程】
linux·mysql·adb
筒栗子1 小时前
复习打卡MySQL篇03
android·数据库·mysql
shaoweijava1 小时前
企业车辆管理系统(源码+数据库+报告)
java·数据库·spring boot·mysql
Java&Develop1 小时前
ShardingSphere-多表关联
java·数据库
吴冰_hogan1 小时前
MySQL 中的 MVCC:实现高效并发控制
数据库·mysql
KevinAha2 小时前
MacOS 上以源码形式安装 MySQL 5.7
mysql·macos
小码ssim2 小时前
docker搭建Redis集群及哨兵(windows10环境,OSS Cluster)
数据库·redis·缓存
YashanDB3 小时前
【YashanDB知识库】oracle与yashanDB的jdbc返回常量列“0.00“的精度和刻度不一致
数据库·oracle·yashandb·崖山数据库