//本文描述,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();
}