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

}

相关推荐
RestCloud1 小时前
揭秘 CDC 技术:让数据库同步快人一步
数据库·api
得物技术4 小时前
MySQL单表为何别超2000万行?揭秘B+树与16KB页的生死博弈|得物技术
数据库·后端·mysql
可涵不会debug8 小时前
【IoTDB】时序数据库选型指南:工业大数据场景下的技术突围
数据库·时序数据库
ByteBlossom8 小时前
MySQL 面试场景题之如何处理 BLOB 和CLOB 数据类型?
数据库·mysql·面试
麦兜*8 小时前
MongoDB Atlas 云数据库实战:从零搭建全球多节点集群
java·数据库·spring boot·mongodb·spring·spring cloud
Slaughter信仰8 小时前
深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)第十章知识点问答(10题)
java·jvm·数据库
麦兜*8 小时前
MongoDB 在物联网(IoT)中的应用:海量时序数据处理方案
java·数据库·spring boot·物联网·mongodb·spring
-Xie-9 小时前
Mysql杂志(十六)——缓存池
数据库·mysql·缓存
七夜zippoe9 小时前
缓存与数据库一致性实战手册:从故障修复到架构演进
数据库·缓存·架构