00. 目录

文章目录

  • 00. 目录
  • 01. Qt SQL模块简介
  • 02. 数据库类
  • 03. 数据库驱动
  • 04. 测试代码
  • 05. 附录

01. Qt SQL模块简介

本概述假定您至少具有SQL的基本知识。你应该能够理解简单的SELECTINSERTUPDATE,和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数据库简介相关推荐

  1. 【Qt】数据库实战之QSqlRelationalTableModel

    00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. QSqlRelationalTableModel外键 04. QSqlRelationalDelegate委托类 05. ...

  2. 【Qt】数据库实战之QSqlTableModel模型

    00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. QSqlTableModel基本操作 04. QSqlTableModel修改操作 05. QSqlTableModel查 ...

  3. 【Qt】数据库实战之QSqlQueryModel

    00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. QSqlQueryModel查询模型 04. QSqlQueryModel常用操作 05. QSqlQueryModel自 ...

  4. 【Qt】数据库实战(三)

    00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. 增删改查操作 04. 名字绑定和位置绑定 05. 程序示例 06. 批处理操作 07. 事务操作 08. 附录 01. 概 ...

  5. 【Qt】数据库实战(二)

    00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. 连接到数据库 04. 操作结果集 06. 附录 01. 概述 SQL即结构化查询语言,是关系数据库的标准语言.前面已经在Q ...

  6. 【Qt】数据库实战(一)

    00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. 数据库驱动 04. 创建数据库连接 05. 数据库简单操作 06. 附录 01. 概述 Qt中的Qt SQL模块提供了对数 ...

  7. [Qt教程] 第31篇 网络(一)Qt网络编程简介

    [Qt教程] 第31篇 网络(一)Qt网络编程简介 楼主  发表于 2013-8-28 17:04:17 | 查看: 515| 回复: 0 Qt网络编程简介 版权声明 该文章原创于作者yafeilin ...

  8. QT与数据库的连接,查询和修改

    一:QT与数据库的连接(通过ODBC) 首先在SQL数据库中设置用户名及密码后通过控制面板查找ODBC根据提示完成对QT的连接 :接下来到qt的main.cpp中输入: QSqlDatabase db ...

  9. qt的mysql编程_界面编程之QT的数据库操作20180801

    /*******************************************************************************************/ 一.数据库连 ...

最新文章

  1. 实现tap的多种方式
  2. iOS 11开发教程(四)iOS11模拟器介绍一
  3. 指令流水 一个时钟周期 出一个结果_以SM3算法为例,构建一个软硬协作算法加速器:性能分析与优化...
  4. 深入浅出python机器学习_4.3.2_岭回归的参数调节-2_绘制折线图
  5. 欧盟无条件批准甲骨文收购Sun
  6. C/C++面试题—链表中倒数第k个结点
  7. 啥叫“Functional Programming ”???
  8. 如何查询mysql中执行效率低的sql语句
  9. 【免费下载】2021年6月份热门报告盘点
  10. UNIX 环境高级编程(八)—— fork 函数
  11. hping3使用详解
  12. 74HC138 三八译码器
  13. 大数据导论习题_《大数据导论(通识课版)》.PDF
  14. UE4 C++ 通过Spline绘制任意道路
  15. android格式化sd卡软件,如何在各种设备中把SD卡格式化?附误格式化数据恢复方法!...
  16. oracle exclude table,EXPDP/IMPDP:关于EXCLUDE参数
  17. html展开插件,分享10款功能强大的HTML5/CSS3应用插件
  18. java解析ip地址_通过JAVA解析IP地址
  19. 获取高匿代理ip的步骤思路
  20. 全媒体运营师胡耀文教你:社群运营这6种裂变模型,你掌握了吗?

热门文章

  1. 两点坐标间距离的算法以及验证【转】
  2. 【玩聚】OneJoo中国的第一个memeTracker?
  3. ASP.NET2.0数据操作之创建数据访问层(3)
  4. java创建一个程序把输入字符串的大小写互换_8 编写程序,从键盘接收一个字符串,对字符串中的字母进行大小写互转...
  5. C语言入门题-计算到任意日期的总天数
  6. 1.7-27编程基础之字符串 单词翻转
  7. java集合性能_Java集合性能分析-疯狂Java讲义
  8. virtualbox安装时发生严重错误_Docker 安装(windows 10)
  9. 找出1000以内的完数,所谓完数是指该数的各因子之和等于该数,如:6 = 1+2+3。
  10. GridView隐藏列, 并能读取列值的解决方法(转载)