QT C++ sqlite 对多个数据库的操作

//本文描述,QT 对多数据库的操作。

//你可能会想,多数据库的操作时,查询语句怎么知道是哪个数据库。

//QT提供了这样一种构造函数 QSqlQuery(const QSqlDatabase &db)

//指定数据库

//在QT6.2.4 MSVC2019调试通过。

//效果见下图,说明了啥,并不会冲突。

//代码如下,不要忘了在pro文件中,添加QT += sql

#include <QSqlDatabase>

#include <QSqlQuery>

#include <QDebug>

#include <QSqlDriver>

#include <QElapsedTimer>

static void func3()

{

QSqlDatabase db1=QSqlDatabase::addDatabase("QSQLITE","connection1");//指定对象1的数据库类型和连接名称

db1.setDatabaseName("d:/test1.db");//设定数据库1名称

QSqlQuery query1(db1);//定义查询对象1(关联数据库)

QSqlDatabase db2=QSqlDatabase::addDatabase("QSQLITE","connection2");//指定对象2的数据库类型和连接名称

db2.setDatabaseName("d:/test2.db");//设定数据库2名称

QSqlQuery query2(db2);//定义查询对象2(关联数据库2)

if (db1.open())

{ query1.exec("create table student(id int primary key,name vachar(20))");//

query1.exec("insert into student values(0,'Jack_Ma')");

db1.close();

}

else

qDebug()<<"没打开db1";

if (db2.open())

{ query2.exec("create table student(id int primary key,name vachar(20))");//

query2.exec("insert into student values(0,'HuaTeng_Ma')");

db2.close();

}

else

qDebug()<<"没打开db2";

}

int main(int argc,char* argv\[\])

{

QCoreApplication a(argc, argv);

QElapsedTimer t;

t.start();

func3();

qDebug()<<t.elapsed()<<"ms";

return a.exec();

}

相关推荐
星恒随风6 小时前
MySQL 从零入门(五):MySQL 内置函数详解——日期、字符串、数学函数与实战案例
linux·数据库·笔记·sql·mysql
吴名氏.8 小时前
Java转AI Agent教程(第十三周)混合检索与重排
java·数据库·人工智能·ai·ai agent
爱码少年8 小时前
Springboot下如何将CSV文件数据导入H2、Mysql数据库表
数据库·mysql·csv
可乐ea9 小时前
智能体记忆该拆成几层:笔记、记忆表示与注入上下文
服务器·数据库·笔记·ai智能体·提示词工程·上下文工程·记忆系统
阿义有问题10 小时前
MySQL 迁移达梦全流程实战:DTS 七步图解 + 对象名全大写适配(附踩坑清单)
数据库
猫猫不是喵喵.13 小时前
从0到1创建一个微服务项目
java·数据库·微服务·1024程序员节
lsc_blog14 小时前
听到优化风声,先准备能由自己掌控的事
数据库·分布式·中间件·职场和发展·重构
墨痕诉清风14 小时前
SSRF漏洞实战记录+OSS桶命令执行+MCP漏洞
linux·服务器·数据库
Ashe81317 小时前
MySQL 慢日志先别急着加索引:三个指标能拦掉大半误判
数据库
ClouGence17 小时前
最基础的异构数据库 DDL 同步,我们踩过哪些坑?
数据库·mysql·postgresql