Qt SQL 模块提供数据库变成的支持,MySQL、Oracle、MS SQL Server、SQlite等。
Qt SQL 模块包含多个类,实现数据库的连接,SQL语句执行,数据获取与界面显示,数据与界面之间使用Model/View结构,方便的实现数据的显示和操作。
包含语句:
#include <QtSql>
QT SQL 模块的主要类
类名称 | 功能描述 |
---|---|
QSqlDatabase | 用于建立与数据库的连接。 |
QSqlDriver | 用于访问具体的SQL数据库的底层抽象类。 |
QSqlDriverCreator | 为某个具体的数据库驱动提供SQL驱动的模板类。 |
QSqlDriverCreatorBase | 所有SQL驱动器的基类。 |
QSqlDriverPlugin | 用于定制QSqlDriver插件的抽线基类。 |
QSqlError | SQL数据库错误信息,用于访问上一次出错的信息。 |
QSqlField | 操作数据表或视图(View)字段的类。 |
QSqlIndex | 操作数据库索引的类。 |
QSqlQuery | 执行各种SQL语句的类。 |
QSqlQueryModel | SQL查询结果数据的只读模型(data model),用于SELECT查询结果数据记录的只读显示。 |
QSqlRecord | 数据记录操作的类。 |
QSqlRelation | 存储SQL外键信息的类,用于QSqlRelationTableModel数据源中设置代码字段与关联数据表的关系。 |
QSqlRelationalDelegate | 用于QSqlRelationTableModel的一个代码字段的显示和编辑代理组件,一般是一个QComboBox组件,下拉列表中自动填充代码表的代码字段对应的实际内容。 |
QSqlRelationalTableModel | 用于一个数据表的可编辑的数据模型,支持代码字段外键。 |
QSqlResult | 访问SQL数据库的抽象接口。 |
QSqlTableModel | 编辑一个单一数据表的数据模型类。 |
QDataWidgetMapper | 用于界面组件与字段之间实现映射,实现字段内容自动显示的类。 |
数据库的操作需要将数据库的内容在界面上进行显示和编辑,Qt采用Model/View结构进行数据库内容的显示,
QTableView是常用的内容显示视图组件,数据模型类有:
QSqlQueryModel QSqlTableModel QSqlRelationalTableModel
这几个类的继承关系:
QSqlQueryModel :通过设置SELECT语句查询获取内容,Model数据是只读的,不能进行编辑。
QSqlTableModel : 直接设置一个数据表的名称,可以获取数据表的全部记录,结果是可编辑的。
QSqlRelationalTableModel: 编辑一个数据表,将代码字段通过关系与代码表关联,将代码字段的编辑转换为直观的内容选择编辑。
QSqlQuery:他可以执行任何SQL语句,特别是没有返回记录的语句,UPDATE,INSERT,DELETE等,通过SQL语句对数据库直接进行编辑修改。