在Qt中使用SQLite数据库

Qt使用sqlite数据库及项目实战 本文详细介绍了在qt中如何使用sqlite,如何对数据进行增删查改等操作,并且有一个完整的项目进行介绍。 阅读详情

前言

SQLite(sql)是一款开源轻量级的数据库软件,不需要server,可以集成在其他软件中,非常适合嵌入式系统。
Qt5以上版本可以直接使用SQLite(Qt自带驱动)。

用法

1 准备

  1. 引入SQL模块
    在Qt项目文件(.pro文件)中,加入SQL模块:
QT += sql
  1. 引用头文件
    在需要使用SQL的类定义中,引用相关头文件。例如:
#include <QSqlDatabase>
#include <QSqlError>
#include <QSqlQuery>

2 使用

1. 建立数据库

检查连接、添加数据库驱动、设置数据库名称、数据库登录用户名、密码。

QSqlDatabase database;
if (QSqlDatabase::contains("qt_sql_default_connection"))
{
    database = QSqlDatabase::database("qt_sql_default_connection");
}
else
{
    database = QSqlDatabase::addDatabase("QSQLITE");
    database.setDatabaseName("MyDataBase.db");
    database.setUserName("XingYeZhiXia");
    database.setPassword("123456");
}

上述代码解释:
(1)第一行中,建立了一个QSqlDatabase对象,后续的操作要使用这个对象。


(2)if语句用来检查指定的连接(connection)是否存在。这里指定的连接名称(connection name)是qt_sql_default_connection,这是Qt默认连接名称。实际使用时,这个名称可以任意取。如果判断此连接已经存在,那么QSqlDatabase::contains()函数返回true。此时,进入第一个分支,QSqlDatabase::database()返回这个连接。


(3)如果这个连接不存在,则进入else分支,需要创建连接,并添加数据库。在else分支第一行,addDatabase()的参数QSQLITE是SQLite对应的驱动名,不能改。而且需要注意的是,addDatabase()的第二个参数被省略了,第二个参数的默认参数就是上面提到的Qt默认连接名称qt_sql_default_connection。如果需要使用自定义的连接名称(如果程序需要处理多个数据库文件的话就会这样),则应该加入第二个参数,例如

database = QSqlDatabase::addDatabase("QS
QT读写Sqlite数据库三种方式 阅读详情

相关推荐

四、Qt使用sqlite数据库详解(两种使用方式)

QT使用sqlite数据库的两种方法,亲测

Newmamahaha的博客 2万+

Qt中操作SQLite数据库

0.前言 SQLite是一款开源、轻量级、跨平台的数据库,无需server,无需安装和管理配置。它的设计目标是嵌入式的,所以很适合小型应用,也是Qt应用开发种常用的一种数据库。 1.驱动 Qt SQL模块使用驱动程序插件(plugins)与不同的数据库API进行通信。由于Qt的SQL模块API与数据库无关,因此所有特定于数据库的代码都包含在这些驱动程序中。Qt提供了几个驱动程序,也可以添加其他驱动程序。提供驱动程序源代码,可用作编写自己的驱动程序的模型。 QtCreator在*.pro中引入sq

龚建波 2万+

QT读写Sqlite数据库的三种方式

QT对一些基本的数据库的访问封装,可谓是极大的方便的我们开发人员,现在我们就来说下QTSqlite这个数据库的读写,Sqlite是一个比较小型的本地数据库,对于保存一些软件配置参数或量不是很大的数据是相当的方便,Qt本身已经自带了Sqlite的驱动,直接使用相关的类库即可,这篇我们主要来说明QT访问Sqlite数据库的三种方式(即使用三种类库去访问),分别为QSqlQuery、QSql...

年少轻狂,幸福时光 4万+

[QT编程系列-38]:数据存储 - SQLite数据库存储与操作

QT 提供了对 SQLite 数据库的支持,通过 QT 的相关类和方法,可以方便地进行SQLite数据库的连接、查询和操作。1.2 SQLite不支持网络连接SQLite 是一种嵌入式数据库引擎,通常用于本地应用程序中,它被设计为本地文件数据库并不直接提供网络连接功能。因此,SQLite 本身不支持直接通过网络连接到数据库。然而,可以通过其他方法实现通过网络连接到 SQLite 数据库的功能。

文火冰糖(王文兵)的博客 4567

QT加db文件鉴权使用DB Browser for SQLite访问

的文件,生成目录未必一样,可以直接在打印语句中找到生成文件的目录,每次运行前都需要将。的文件,生成目录未必一样,可以直接在打印语句中找到生成文件的目录,每次运行前都需要将。,可根据实际需求选择,因博主需要的是64-bit格式的,所以选择的是。,Qt安装之后QtCreator会自动识别。文件同级目录为基准,编译完成后会在。文件同级目录为基准,编译完成后会在。文件删除,不然代码会运行报错。文件删除,不然代码会运行报错。工具自动弹出输入密码的界面。后会安装两个应用程序。的表,可以查看数据。

qq_33175506的博客 334

QT连接Sqlite数据库并且对数据进行操作

QT连接Sqlite数据库并且对数据进行操作,利用了QSqlDatabase、QSqlError、SqlQuery、QSqlQueryModel等函数操作,并且实现登录功能

m0_53552112的博客 3703

Qt 操作SQLite数据库

Sqlite 数据库作为 Qt 项目开发中经常使用的一个轻量级的数据库,可以说是兼容性相对比较好的数据库之一(Sqlite就像Qt的亲儿子,如同微软兼容Access数据库一样)。

QtCompany的博客 4755

qt使用sqlite数据库

为什么选择使用sqlite数据库qt使用数据库时,如果不是很复杂的逻辑,可以考虑使用sqlitesqlite是一个轻量数据库,广泛应用于移动设备上,并且它的数据库整个放在一个db后缀的文件中,可以直接拷贝进行数据库的移动。 笔者原来使用mysql数据库,在qt连接mysql数据库时,由于qt提供的lib和dll和在用的数据库的版本不匹配的问题,往往需要自己重新编译。笔者曾经就这个问题写过...

千人斩的博客 1009

qt链接sqlite轻型数据库

#include "studentdialog.h" #include "ui_studentdialog.h" StudentDialog::StudentDialog(QWidget *parent) : QDialog(parent) , ui(new Ui::StudentDialog) { ui->setupUi(this); //程序启动时创建 createDB(); createTable(); queryTable(); }

长安紫薯的专栏 321

使用QtSQLite做一个数据库搜索项目

将刚才用SQLite Expert Professional 5 - 64bit创建的db文件,复制到bin文件夹中;AbbreviationList.exe文件,为运行Qt工程后自动生成的文件。build-AbbreviationList-Desktop_Qt_5_12_9_MinGW_32_bit-Debug文件夹,是执行Qt工程后自动生成的文件。这是在代码中写死的。3.SQLite Expert Professional 5 - 64bit作为创建一个db文件的工具,能够实现数据库的可视化。

m0_48848415的博客 1247

Qt应用】Qt 连接SQLite数据库

Sqlite 数据库作为 Qt 项目开发中经常使用的一个轻量级的数据库,可以说是兼容性相对比较好的数据库之一(Sqlite就像Qt的亲儿子,如同微软兼容Access数据库一样)。SQLite 的设计目的是嵌入式 SQL 数据库引擎,它基于纯C语言代码,已经应用于非常广泛的领域内。SQLite 在需要长时间存储时可以直接读取硬盘上的数据文件(.db),在无须长时间存储时也可以将整个数据库置于内存中,两者均不需要额外的服务器端进程,即 SQLite 是无须独立运行的数据库引擎。

m0_73482095的博客 6547

Qt使用SQLite

文章目录Qt使用SQLite1. 概述2. 数据库基本操作2.1 建立数据库2.2 打开数据库2.3 关闭数据库2.4 创建数据表2.5 插入数据2.6 更新/修改数据2.7 查询数据——遍历查询、条件查询2.7.1 遍历查询2.7.2 条件查询3. 条件查询与遍历查询的对比 Qt使用SQLiteSQLite 是一款开源轻量级的数据库软件,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎,是在世界上最广泛部署的 SQL 数据库引擎,源代码不受版权限制。可以集成在其他软件中,应用

ShareProgress的博客 1万+

Qt操作SQLite数据库的三种方式

Qt访问Sqlite数据库的三种方式(即使用三种类库去访问),分别为QSqlQuery、QSqlQueryModel、QSqlTableModel,对于这三种类库,可看为一个比一个上层,也就是封装的更厉害,甚至第三种QSqlTableModel,根本就不需要开发者懂SQL语言,也能操作Sqlite数据库。 方式1. 使用QSqlQuery来访问 通过exec()成员函数来执行DML(数据操作语言)语句,如增删改查SELECT、INSERT、UPDATE和DELETE,以及DDL(数据定义语言)语句等..

顺其自然~专栏 1万+

Qt使用 SQLite 数据库的完整指南

SQLite 操作

威桑的博客 8268

QtSQLite数据库使用

Qt中如何使用数据库存储数据?如何对数据库中的数据进行增删查改?六千字代码加图片,一文搞定!

雷东宸的博客 3809

Qt操作SQLite数据库

Qt操作SQLite数据库

m0_60259116的博客 3370

qt数据库sqlite的操作(超详细)包含增删改查

qt数据库sqlite的操作,连接、建表、增删改查。图片保存读取,多表联合操作。

qq_52218412的博客 1万+

QTSQLite数据库

分步写,利用prepare()函数,再使用exec()

Lee1989 3317
上一篇: QML之基于QML封装动态库组件
下一篇: QT5 文件读写操作
Qt开发老杰
博客等级 码龄4年 364粉丝 554原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值