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

//...

相关推荐
OceanRoy3 小时前
数据库表的设计
数据库·内连接·外连接·er图·表的约束·三大范式·多表连接
Pniubi4 小时前
怎么排查慢SQL,怎么解决?
java·数据库·sql
Decay__8 小时前
VMware 安装 SQL Server 双节点 AlwaysOn 可用性组教程 —— WSFC、AG 与侦听器完整部署(系列核心篇)
运维·数据库·sql·mysql·架构
茶栀(*´I`*)8 小时前
SQL 性能分析:从慢查询日志到执行计划的完整定位方法
数据库·sql
艺杯羹9 小时前
1Panel 装好后 ufw 仍是 inactive:一次服务器安全盲区复盘
服务器·数据库·安全·网络安全·系统架构·实战·1panel
code2cat10 小时前
【随笔】MCP工具重试:任务已经创建,响应丢了怎么办
数据库·mcp
wuyk55511 小时前
Spider-第10讲-SQLite持久化与去重
数据库·爬虫·sqlite
乌暮13 小时前
Spring AOP 与 Spring 事务:用大白话彻底理解原理与实践
java·数据库·spring boot·后端·sql·学习·spring
小此方14 小时前
Re:Mysql数据库基础篇(十二):什么是事务、事务解决了什么问题、事务的四大属性、事务的操作方式
数据库·mysql
csdn_aspnet14 小时前
macOS 10 、Docker 玩轉 MySQL
运维·mysql·macos·docker·容器·mac