代码之家  ›  专栏  ›  技术社区  ›  Mark Harrison

启动qt数据库接口的最佳位置

  •  2
  • Mark Harrison  · 技术社区  · 15 年前

    有人问我如何使用Qt数据库接口来访问Oracle。

    调查这件事的好起点是什么?你有什么可以分享的经验吗?

    1 回复  |  直到 12 年前
        1
  •  2
  •   Harald Scheirich    15 年前

    我们使用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示例中有一个简单的示例。