我们使用qtsql类已经有几年了,我们现在使用odbc驱动程序连接到mssql实例。总体而言,整个界面的性能相当好。它使您与数据库驱动程序完全隔离
QSqlDatabase
,
QSqlQuery
和
QSqlResult
在最前面,有一些抽象还将您与实际的SQL隔离开来。
QSqlTableModel
和
QSqlRelationalTableModel
但是这些都适用于任何qt视图。还有一个班
QDataWidgetMapper
这有助于将数据映射到非表视图。另外,qvariant在包装SQL数据和提供对查询结果的类型化访问方面也做得很出色。虽然所有这些都非常有用,但是除非您的应用程序的范围很小,否则它不会使您不必设计一个合适的DAO层,但没有任何一个Qt类提供这种功能。
我们有一个过程,在这个过程中,我们将一个定制的XML描述转换成一个用于创建表的SQL脚本,一个用于
QSqlRecord
我们使用
QSqLTabLimoDell
我们大部分的积垢工作。这很好地工作,但是这些类中有很多开销,所以我不会重复这种方法。
我们确实发现了一些关于ODBC驱动程序的怪癖,我确信Oracle驱动程序还有其他的怪癖。我们有理由相信,我们能够在短时间内从MS-SQL切换到Oracle。
至于起点,我认为qt示例中有一个简单的示例。