(8)Qt---数据库

本文介绍了如何在Qt环境中使用SQLite数据库,包括添加.sql模块,建立数据库连接,创建表,执行增、删、改、查操作。通过QSqlDatabase和QSqlQuery类,展示了预处理SQL语句避免安全问题的方法,并提供了银行管理系统的示例代码,演示了完整的数据操作流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Qt数据库简介

Qt只是作为媒介去操作数据库,本身不具备数据库的功能,因此除了Qt以外,还需要在计算机中安装对应的数据库软件,但是由于SQLite数据库比较轻巧,因此Qt集成了SQLite数据库,此数据库是嵌入式中最常用的数据库。

实际上Qt支持以下类型的数据库产品:

在Qt项目中使用数据库必须在.pro项目配置文件中增加sql模块。

2. 连接与关闭

主要使用到的类是数据库连接类QSqlDatabase(数据库的连接)和数据库错误信息类QSqlError(可能出现的错误信息),涉及的函数有:

// 获得一个基于SQLite的数据库连接对象
QSqlDatabase QSqlDatabase::addDatabase("QSQLITE") [static]
// 设置SQLite数据库文件的名称(不同的数据库此函数表示不同的功能)
// 在运行之后,此文件会在构建目录中生成
void QSqlDatabase::setDatabaseName(const QString & name)
// 打开数据库连接
// 返回值是打开的结果,如果打开失败,可以通过lastError()函数获得错误信息
bool QSqlDatabase::open()
// 获得上一次数据库的错误信息
QSqlError QSqlDatabase::lastError() const
// 可以通过下面的函数把错误信息转换为字符串(实际上这些信息来自于底层数据库)
QString QSqlError::text() const
// 判断连接是否打开
bool QSqlDatabase::isOpen() const
// 关闭连接
void QSqlDatabase::close()

连接成功后会生成数据库文件。

3. 建表

QSqlQuery主要用于执行SQL语句,相关函数如下。

// 执行SQL语句
// 参数是要执行的SQL语句
// 返回值是语句本身执行的结果,并不是数据操作的结果
bool QSqlQuery::exec(const QString & query)
// 用法与之前的同名函数完全相同
QSqlError QSqlQuery::lastError() const

参考建表语句:

CREATE TABLE customer(id INTEGER PRIMARY KEY,name TEXT,money REAL,rate REAL);

建表成功后,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值