QT Sqlite 内存模式 简单读写

30 篇文章 0 订阅

//本文描述了QT Sqlite 内存模式 ,使用QT 自带库文件,写入和读取。

//QT 6.2.4 MSVC2019调试通过。

//需要在pro文件中加入QT += sql

#include <QCoreApplication>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QDebug>
#include <QSqlDriver>
//#include <QSqlError>
//#include <QStringList>
//#include <QVariant>

static bool createConnection()
{

//addDatabase的原型是

//QSqlDatabase::addDatabase

//                            (const QString &type,/*类型*/

//                        const QString &connectionName = QLatin1String(defaultConnection))//连接名称
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName(":memory:");
    if(!db.open())
    {
        qDebug()<<"sqlite memory db is not open";
        return false;
    }
    QSqlQuery query;
    query.exec("create table student(id int primary key,name vachar(20))");//
    query.exec("insert into student values(0,'Jack_Ma')");
    query.exec("insert into student values(1,'HuaTeng_Ma')");
    query.exec("insert into student values(2,'QiangDong_Liu')");
    query.exec("insert into student values(3,'YanHong_Li')");
    query.exec("insert into student values(4,'Lei_Ding')");
    return true;
}

int main(int argc,char* argv[])
{
    QCoreApplication a(argc, argv);
    qDebug()<<"Available drivers:";
    QStringList dataDrivers = QSqlDatabase::drivers();
    for(auto item:dataDrivers)
    {
        qDebug()<<item;
    }
    if(!createConnection())
        return 1;
    QSqlQuery query;

    query.exec("select * from student");
    qDebug()<<"all records:";
    while(query.next())
    {
        qDebug()<<query.value(0).toInt()<<query.value(1).toString();//逐行打印各记录
    }
    query.exec("select count (*) from student");
    qDebug()<<"records count number:";
    while(query.next())
    {
        qDebug()<<query.value(0).toInt();//打印记录数
    }
    return a.exec();
}
 

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值