Qt学习笔记 数据库 Qt SQL

        Qt SQL 模块提供数据库编程的支持,Qt支持多种常见的数据库 如MySQl,Oracle,Ms SQL server,SQLLite等。可以实现数据库连接,sql语句执行,数据获取与界面显示灯功能,数据与界面之间使用 Model/View架构,从而可以方便地实现数据的界面显示和操作。

       要在项目中使用Qt SQL 模块,需要在项目配置文件中增加以下设置语句

Qt +=sql

 在头文件或源程序文件中使用 Qt SQL 模块中的类,可以使用包含语句:

#include <QtSql>

Qt SQL支持的数据库

Qt学习笔记 数据库 Qt SQL

 

这里我用 SQL SERVER 2008 R2   建立员工数据库

Qt学习笔记 数据库 Qt SQL

departments数据表示一个学院信息表,记录学院编号和学院名称。其字段定义为:

Qt学习笔记 数据库 Qt SQL

majors 数据时专业信息表,记录各专业的信息。 

Qt学习笔记 数据库 Qt SQL 

studInfo 是一个记录学生信息的数据表。

Qt学习笔记 数据库 Qt SQL 

 Qt SQL 中使用QSqlRelationalTableModel可以很方便地实现这种代码型数据表的显示与编辑。

 

Qt SQL 模块的主要类

        Qt SQL 提供的主要类的简要更能描述:

Qt学习笔记 数据库 Qt SQL

         QsqlDatabase 用于建立数据库连接,需要先加载数据库驱动,登录参数,用户名 密码。

        Qt采用M/V结构进行数据集界面显示。QTableView是常用的数据库内容显示组件,用户数据库操作的数据模型类有QSqlQueryModel, QSqlTableModel 和QsqlRelationalTableModel

Qt学习笔记 数据库 Qt SQL

QsqlQueryModel 查询数据库内容,只读。

QSqlTableModel 直接设置一个数据表的名称,可以获取数据表的全部记录,其结果可编辑。设置为界面上的QTableView数组的数据模型后就可以显示和编辑数组。

QsqlQuery 是另外一个常用的类,它可以执行update, insert,delete, 等没有返回的sql语句。