Qt SQL模块基础
一、Qt SQL模块支持的数据库
官方帮助文档中的Qt支持的数据库驱动如下图:

Qt SQL 模块中提供了一些常见的数据库驱动,包括网络型数据库,如Qracle、MS SQL Server、MySQL等,也包括简单的单机型数据库。
Qt SQL支持的数据库如下:
| 驱动名称 | 数据库 |
|---|---|
| QDB2 | IBM DB2(7.1及以上版本)数据库 |
| QIBASE | Borland InterBase数据库 |
| QMYSQL | MySQL 数据库 |
| QOCI | Qracle 调用接口驱动(Oracle Call Interface Driver) |
| QODBC | Open Dabebase Connectivity(ODBC),Microsoft 的SQL Server 数据库,以及其他支持ODBC接口的数据库,如Access |
| QPSQL | PostgreSQL(7.3及以上版本)数据库 |
| QSQLITE2 | SQLite2 数据库 |
| QSQLITE | SQLite3 数据库 |
| QTDS | Sybase Adaptive Server(注意:从Qt 4.7 开始已过时) |
二、Qt 模块的主要类
官方文档中Qt 模块主要的类:

Qt模块中的主要类:
| 类名称 | 功能描述 |
|---|---|
| QSqlDatabase | 处理与数据库的连接 |
| QSqlDriver | 用于访问特定 SQL 数据库的抽象基类。 |
| QSqlDriverCreator | 提供针对特定驱动程序类型的 SQL 驱动程序工厂的模板类。 |
| QSqlDriverCreatorBase | SQL 驱动程序工厂的基类。 |
| QSqlDriverPlugin | 自定义 QSqlDriver 插件的抽象基类。 |
| QSqlError | 提供 SQL 数据库错误信息。 |
| QSqlField | 操作 SQL 数据库表和视图中的字段。 |
| QSqlIndex | 提供用于操作和描述数据库索引的函数。 |
| QSqlQuery | 执行和操作 SQL 语句的工具。 |
| QSqlQueryModel | 用于 SQL 查询结果集的只读数据模型。 |
| QSqlRecord | 封装数据库记录的类。 |
| QSqlRelation | 存储有关 SQL 外键的信息。 |
| QSqlRelationDelegate | 用于显示和编辑来自 QSqlRelationalTableModel 的数据的代理。 |
| QSqlRelationTableModel | 支持外键的单表可编辑数据模型。 |
| QSqlResult | 访问特定 SQL 数据库数据的抽象接口。 |
| QSqlTableModel | 单表的可编辑数据模型。 |
| QDataWidgetMapper | 用于界面组件与字段之间实现映射,实现字段内容自动显示的类 |
三、数据库相关数据模型类的继承关系
数据库的操作一般需要将数据库的内容在界面上进行显示和编辑,Qt采用Model/View 结构进行数据库内容的界面显示。QTableView 是常用的数据库内容显示视图组件,用于数据库操作的数据模型有QSqlQueryModel、QSqlTableModel、QSqlRelationalTableModel.

好了,Qt SQL模块的基础知识就介绍到这里。