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();

//...

相关推荐
隔窗听雨眠3 分钟前
MySQL整库迁移至KaiwuDB完全指南:从数据类型映射到生产切换的系统性实践
数据库·mysql
xhbh66618 分钟前
中小企业 Redis 运维,如何安全归档 RDB、AOF 备份文件?
运维·数据库·缓存·数据备份·文件备份·同步备份·号码备份
2301_322414280440 分钟前
活力孕康复APP 47737- 原创(免费领源码+部署教程+开发环境)
java·vue.js·spring boot·mysql·微信小程序·idea·微信开发者工具
勤奋的树懒42 分钟前
从手写 SQL 到 Windows 工具:致远 OA 文件清理实践
数据库·sql·windows server·致远oa
笃行3501 小时前
OceanBaseVS金仓:一条 SQL 的两条路——KingbaseES 的性能竞争力从哪来
数据库
其实防守也摸鱼1 小时前
每天一个知识点——RCE漏洞
运维·服务器·数据库·windows·安全·github·漏洞
TDengine (老段)1 小时前
TDengine 常见问题 TOP2
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
笃行3501 小时前
数据迁移工具 KDMS 帮我把一本糊涂账算清了
数据库
笃行3502 小时前
SQLServer数据库迁移实录:十年老系统搬上 KingbaseES,T-SQL 基本没重写
数据库
落魄大学生之流水线上谋生计3 小时前
Java并发核心机制详解:线程池、CAS、AQS、锁升级
java·开发语言·数据库