【Qt】Qt数据库简介
00. 目录
文章目录
- 00. 目录
- 01. Qt SQL模块简介
- 02. 数据库类
- 03. 数据库驱动
- 04. 测试代码
- 05. 附录
01. Qt SQL模块简介
本概述假定您至少具有SQL的基本知识。你应该能够理解简单的SELECT
,INSERT
,UPDATE
,和DELETE
语句。尽管QSqlTableModel类提供了不需要浏览SQL即可进行数据库浏览和编辑的接口,但强烈建议您对SQL有基本的了解
QT通过Qt SQL模块提供了对SQL数据库的支持,Qt SQL模块中的API分为三层:驱动层、SQL接口层、用户接口层。
如果要使用Qt SQL模块中的类,需要在工程文件(.pro文件)中添加QT += sql配置。
QT += sql
对应数据库部分的内容,大家可以在帮助中查看SQL Programming关键字。
1.1 驱动层
驱动层为具体的数据库和SQL接口层之间提供了底层的桥梁,主要类包括QSqlDriver、QSqlDriverCreator、QSqlDriverCreatorBase、QSqlDriverPlugin和QSqlResult。
1.2 SQL接口层
SQL接口层提供了对数据库的访问,主要类包括Qt SQL模块中的QSqlDatabase、QSqlQuery、QSqlError、QSqlField、QSqlIndex和QSqlRecord。 QSqlDatabase用来连接数据库,QSqlQuery类用来与数据库实现数据交互。
1.3 用户接口层
用户接口层主要包括Qt SQL模块中的QSqlQueryModel、QSqlTableModel、QSqlRelationalTableModel。用户接口层的类实现了将数据库中的数据链接到窗口部件上,是使用模型/视图框架实现的,是更高层次的抽象,即便不熟悉SQL也可以操作数据库。需要注意的是,在使用用户接口层的类之前必须先实例化QCoreApplication对象。
02. 数据库类
这些类提供对SQL数据库的访问。
03. 数据库驱动
Qt SQL模块使用数据库驱动和不同的数据库接口进行通信。由于Qt的SQL模块的接口是独立于数据库的,所以所有具体数据库的代码包含在了这些驱动中。QT本身提供了多种数据库驱动,并且可以添加其他数据库驱动。QT提供的数据库驱动源码可以作为编写自定义驱动的模型。
目前Qt5.12支持的数据库驱动如下:
04. 测试代码
可以使用QSqlDatabase中相关方法测试当前Qt版本默认支持的数据库驱动
测试代码如下:
#include <QCoreApplication>#include <QSqlDatabase>
#include <QDebug>int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);//获取当前Qt支持的驱动列表QStringList drivers = QSqlDatabase::drivers();foreach (QString driver, drivers){qDebug() << driver;}return a.exec();
}
测试结果如下:
05. 附录
关键词:SQL Programming
【Qt】Qt数据库简介相关推荐
- 【Qt】数据库实战之QSqlRelationalTableModel
00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. QSqlRelationalTableModel外键 04. QSqlRelationalDelegate委托类 05. ...
- 【Qt】数据库实战之QSqlTableModel模型
00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. QSqlTableModel基本操作 04. QSqlTableModel修改操作 05. QSqlTableModel查 ...
- 【Qt】数据库实战之QSqlQueryModel
00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. QSqlQueryModel查询模型 04. QSqlQueryModel常用操作 05. QSqlQueryModel自 ...
- 【Qt】数据库实战(三)
00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. 增删改查操作 04. 名字绑定和位置绑定 05. 程序示例 06. 批处理操作 07. 事务操作 08. 附录 01. 概 ...
- 【Qt】数据库实战(二)
00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. 连接到数据库 04. 操作结果集 06. 附录 01. 概述 SQL即结构化查询语言,是关系数据库的标准语言.前面已经在Q ...
- 【Qt】数据库实战(一)
00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. 数据库驱动 04. 创建数据库连接 05. 数据库简单操作 06. 附录 01. 概述 Qt中的Qt SQL模块提供了对数 ...
- [Qt教程] 第31篇 网络(一)Qt网络编程简介
[Qt教程] 第31篇 网络(一)Qt网络编程简介 楼主 发表于 2013-8-28 17:04:17 | 查看: 515| 回复: 0 Qt网络编程简介 版权声明 该文章原创于作者yafeilin ...
- QT与数据库的连接,查询和修改
一:QT与数据库的连接(通过ODBC) 首先在SQL数据库中设置用户名及密码后通过控制面板查找ODBC根据提示完成对QT的连接 :接下来到qt的main.cpp中输入: QSqlDatabase db ...
- qt的mysql编程_界面编程之QT的数据库操作20180801
/*******************************************************************************************/ 一.数据库连 ...
最新文章
- 实现tap的多种方式
- iOS 11开发教程(四)iOS11模拟器介绍一
- 指令流水 一个时钟周期 出一个结果_以SM3算法为例,构建一个软硬协作算法加速器:性能分析与优化...
- 深入浅出python机器学习_4.3.2_岭回归的参数调节-2_绘制折线图
- 欧盟无条件批准甲骨文收购Sun
- C/C++面试题—链表中倒数第k个结点
- 啥叫“Functional Programming ”???
- 如何查询mysql中执行效率低的sql语句
- 【免费下载】2021年6月份热门报告盘点
- UNIX 环境高级编程(八)—— fork 函数
- hping3使用详解
- 74HC138 三八译码器
- 大数据导论习题_《大数据导论(通识课版)》.PDF
- UE4 C++ 通过Spline绘制任意道路
- android格式化sd卡软件,如何在各种设备中把SD卡格式化?附误格式化数据恢复方法!...
- oracle exclude table,EXPDP/IMPDP:关于EXCLUDE参数
- html展开插件,分享10款功能强大的HTML5/CSS3应用插件
- java解析ip地址_通过JAVA解析IP地址
- 获取高匿代理ip的步骤思路
- 全媒体运营师胡耀文教你:社群运营这6种裂变模型,你掌握了吗?
热门文章
- 两点坐标间距离的算法以及验证【转】
- 【玩聚】OneJoo中国的第一个memeTracker?
- ASP.NET2.0数据操作之创建数据访问层(3)
- java创建一个程序把输入字符串的大小写互换_8 编写程序,从键盘接收一个字符串,对字符串中的字母进行大小写互转...
- C语言入门题-计算到任意日期的总天数
- 1.7-27编程基础之字符串 单词翻转
- java集合性能_Java集合性能分析-疯狂Java讲义
- virtualbox安装时发生严重错误_Docker 安装(windows 10)
- 找出1000以内的完数,所谓完数是指该数的各因子之和等于该数,如:6 = 1+2+3。
- GridView隐藏列, 并能读取列值的解决方法(转载)