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

}

相关推荐
望获linux31 分钟前
【实时Linux实战系列】硬实时与软实时设计模式
linux·运维·服务器·数据库·操作系统·rtos·嵌入式软件
Cyanto4 小时前
深入MyBatis:CRUD操作与高级查询实战
java·数据库·mybatis
datascome4 小时前
文章发布易优CMS(Eyoucms)网站技巧
数据库·经验分享·爬虫·数据采集·eyoucms·易优cms
有想法的py工程师5 小时前
PostgreSQL 锁等待监控,查找等待中的锁
数据库
学不会就看5 小时前
Django--02模型和管理站点
数据库·oracle·django
←か淡定☆ ヾ6 小时前
SQL Server 2008R2 到 2012 数据库迁移完整指南
数据库·sql server
瀚高PG实验室6 小时前
Arcgis连接HGDB报错
数据库·arcgis·瀚高数据库
IT小辉同学7 小时前
PostgreSQL 与 MySQL 获取字段注释并转换为驼峰命名教程
数据库·mysql·postgresql
xinghunzhiye20107 小时前
redis升级
数据库·redis·缓存
一只fish7 小时前
MySQL 8.0 OCP 1Z0-908 题目解析(21)
数据库·mysql