SQL 编程#
Qt 应用程序的数据库集成。
此概述假设您至少具备 SQL 的基础知识。您应能够理解简单的 SELECT
、INSERT
、UPDATE
和 DELETE
语句。尽管 QSqlTableModel
类提供了用于数据库浏览和编辑的界面,无需 SQL 知识,但推荐您对 SQL 具有基本的了解。一本关于 SQL 数据库的标准文本是 C. J. Date 编著的《数据库系统导论》(第7版),ISBN 0201385902。
主题:#
数据库类#
这些类提供对 SQL 数据库的访问。
The QSql 命名空间包含在整个 Qt SQL 模块中使用的各种标识符。
The QSqlDriverCreatorBase 类是 SQL 驱动程序工厂的基类。
QSqlDriverCreator
The QSqlDriverCreator 类是一个模板类,为特定类型的驱动程序提供 SQL 驱动程序工厂。
The QSqlDatabase 类处理与数据库的连接。
The QSqlDriver 类是一个抽象基类,用于访问特定的 SQL 数据库。
The QSqlError 类提供 SQL 数据库错误信息。
The QSqlField 类操作 SQL 数据库表和视图中的字段。
The QSqlIndex 类提供操纵和描述数据库索引的函数。
The QSqlQuery 类提供执行和操纵 SQL 语句的手段。
The QSqlRecord 类封装数据库记录。
The QSqlResult 类为从特定 SQL 数据库访问数据提供抽象接口。
The QSqlQueryModel 类为 SQL 结果集提供只读数据模型。
The QSqlRelationalTableModel 类为单个数据库表提供一个支持外键的编辑数据模型。
The QSqlTableModel 类为单个数据库表提供一个编辑数据模型。
SQL 类分为三个层面
驱动层#
这包括以下类:QSqlDriver
、QSqlDriverCreator
、QSqlDriverCreatorBase
、QSqlDriverPlugin
和 QSqlResult
。
这一层提供了特定数据库与 SQL API 层之间的底层桥梁。更多信息请参阅 SQL 数据库驱动。
SQL API 层#
这些类提供了访问数据库的接口。采用 QSqlDatabase
类建立连接。通过 QSqlQuery
类实现数据库交互。除了 QSqlDatabase
和 QSqlQuery
,SQL API 层还支持 QSqlError
、QSqlField
、QSqlIndex
和 QSqlRecord
。
用户界面层#
这些类将数据库中的数据与数据感知控件相连接。包括 QSqlQueryModel
、QSqlTableModel
和 QSqlRelationalTableModel
。这些类设计用于与 Qt 的模型/视图框架协同工作。
请注意,在使用这些类之前必须先实例化一个 QCoreApplication 对象。