SQL类分成以下三层:
1、用户接口层:
这些类提供了基于数据的窗口部件,这些窗口部件不仅连接数据库还可为用户所浏览。(以QSqlCursor作为数据源)。终端用户通过这些组件来浏览与编辑数据。Qt设计器集成了这些类并可用来创建基于数据的窗体。这些窗口部件也可在程序中与你的C++代码直接交互。支持这一层的类包括QSqlEditorFactory、QSqlForm、QSqlPropertyMap、QDataTable、QDataBrowser和QDataView。
2、SQL应用编程接口层:
这些类存取数据库。QSqlDatabase类用来连接数据库。数据交互的实现要么通过QSqlQuery类以SQL语句来实现,要么用QSqlCursor类,它封装了SQL命令集。除了QSqlDatabase、QSqlCursor和QSqlQuery这些类外,QSqlError、QSqlField、QSqlIndex和QSqlRecord也支持该层。
3、驱动程序层:
本层由三个类组成:QSqlResult、QSqlDriver和QSqlDriverFactoryInterface。这个层在数据库和SQL类之间提供了底层的桥梁。这个层的文档是另外的,因为它只和驱动程序编写者有关,并且在标准数据库应用程序编程中很少用到。对于实现Qt的SQL驱动程序插件的详细情况请参考这里。
SQL驱动程序插件:
Qt的SQL模块可以在运行期动态地装载新的驱动程序,这是通过插件实现的。SQL驱动程序文档描述了如何为一个特定的数据库建立相应的插件。
一旦该插件被建立,Qt可以自动地装载它,之后就可为QSqlDatabase所用(详细信息请参考QSqlDatabase::drivers())。
连接数据库:
如果要使用QSqlQuery或QSqlCursor类,则少要连接并打开一个数据库连接。
如果应用程序只需要一个数据库连接,QSqlDatabase类可以创建一个为所有SQL操作所利用的默认连接,如果需要多个数据库连接,每个连接也可以容易地建立。QSqlDatabase需要qsqldatabase.h这个头文件。