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

相关推荐
LUCIAZZZ8 分钟前
项目拓展-Apache对象池,对象池思想结合ThreadLocal复用日志对象
java·jvm·数据库·spring·apache·springboot
水木石画室29 分钟前
Druid 连接池详解
数据库·mysql
yzpyzp31 分钟前
gradle的 build时kaptDebugKotlin 处理数据库模块
android·数据库
软件20539 分钟前
【redis——缓存雪崩(Cache Avalanche)】
数据库·redis·缓存
訾博ZiBo1 小时前
使用 Navicat 成功导入 2.73GB 超大 SQL 文件的实战经验(Win10,64GB内存)
数据库·mysql
小胖同学~2 小时前
SQL 增删改查 —— 笔记篇
服务器·数据库
梦兮林夕2 小时前
Docker + Gin + Gorm Gen:现代 Go Web 开发高效数据库实践
数据库·go·gin
Lx3522 小时前
SQL参数化查询:防注入与计划缓存的双重优势
后端·sql·mysql
徐Sir的IT技术备忘录2 小时前
WinServer2025安装OracleDB 19.27实测及applyRU问题复盘
数据库
刘天远2 小时前
深度解析企业风控API技术实践:构建全方位企业风险画像系统
大数据·数据库·数据分析