Qt学习笔记之数据库
一、数据库简介
Qt中的QtSql
模块提供了对数据库的支持,该模块中的众多类基本上可以分为三层,如下图所示。
其中
- 驱动层为具体的数据库和SQL接口层之间提供了底层的桥梁;
- SQL接口层提供了对数据库的访问,其中的
QSqlDatabase
类用来创建连接,QSqlQuery
类可以使用SQL语句来实现与数据库交互,其他几个类对该层提供了支持; - 用户接口层的几个类实现了将数据库中的数据链接到窗口部件上,这些类是使用前一章的模型/视图框架实现的,它们是更高层次的抽象,即便不熟悉SQL也可以操作数据库。
- 如果要使用
QtQql
模块中的这些类,需要在项目文件(.pro文件)中添加QT += sql
这一行代码。对应数据库部分的内容,大家可以在帮助中查看SQL Programming关键字。
二、数据库驱动
QtSql
模块使用数据库驱动来和不同的数据库接口进行通信。由于Qt的SQL模型的接口是独立于数据库的,所以所有数据库特定的代码都包含在了这些驱动中。Qt现在支持的数据库驱动如下图所示。
需要说明的是,由于GPL许可证的兼容性问题,并不是这里列出的所有驱动插件都提供给了Qt的开源版本。