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

发布于:2024-04-20 ⋅ 阅读:(21) ⋅ 点赞:(0)

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


网站公告

今日签到

点亮在社区的每一天
去签到