QT Sqlite 内存模式 简单读写

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

}

相关推荐
ggabb5 分钟前
中英诗歌对比:各有千秋,中文诗词独具极致美学与思想高度
sqlite
努力努力再努力wz2 小时前
【Qt入门系列】:QLabel控件详解:从文本显示到图片展示,再到内容布局与伙伴机制
android·开发语言·数据结构·数据库·c++·qt·mysql
abcy0712133 小时前
【无标题】
数据库·sqlite
郝学胜-神的一滴3 小时前
Qt 高级开发 016:半内存管理机制
开发语言·c++·qt·程序人生·用户界面
Dxy12393102164 小时前
Django 模型查询中的数据库连接池配置指南
数据库·django·sqlite
香菇滑稽之谈4 小时前
VSCode配置QT环境
ide·vscode·qt
雪的季节4 小时前
Qt pro 多项目、子目录、多层级配置(超级详细 + 实战模板)
qt
郝学胜-神的一滴4 小时前
Qt 高级开发 020:水平布局手写代码实战
开发语言·c++·qt·系统架构·软件构建·用户界面
机器视觉知识推荐、就业指导17 小时前
Qt6 + QCustomPlot 实时曲线 Demo ,适合串口与上位机项目
qt
YY&DS19 小时前
Qt 嵌入 CEF 在 Linux 下必须设置 `QT_XCB_GL_INTEGRATION=xcb_egl才能加载网页
linux·开发语言·qt