Qt学习笔记之数据库

一、数据库简介

Qt中的QtSql模块提供了对数据库的支持,该模块中的众多类基本上可以分为三层,如下图所示。

 

Qt学习笔记之数据库

其中

  • 驱动层为具体的数据库和SQL接口层之间提供了底层的桥梁;
  • SQL接口层提供了对数据库的访问,其中的QSqlDatabase类用来创建连接QSqlQuery类可以使用SQL语句来实现与数据库交互,其他几个类对该层提供了支持;
  • 用户接口层的几个类实现了将数据库中的数据链接到窗口部件上,这些类是使用前一章的模型/视图框架实现的,它们是更高层次的抽象,即便不熟悉SQL也可以操作数据库。
  • 如果要使用QtQql模块中的这些类,需要在项目文件(.pro文件)中添加QT += sql这一行代码。对应数据库部分的内容,大家可以在帮助中查看SQL Programming关键字。

二、数据库驱动

QtSql模块使用数据库驱动来和不同的数据库接口进行通信。由于Qt的SQL模型的接口是独立于数据库的,所以所有数据库特定的代码都包含在了这些驱动中。Qt现在支持的数据库驱动如下图所示。

Qt学习笔记之数据库

需要说明的是,由于GPL许可证的兼容性问题,并不是这里列出的所有驱动插件都提供给了Qt的开源版本。