我正在编写一个 Python (2.5) GUI 应用程序,它执行以下操作:
- 从 Access 导入到 Sqlite 数据库
- 将 ui 表单设置保存到 Sqlite 数据库
目前我使用 pywin32 读取 Access,使用 pysqlite2/dbapi2 读取/写入 Sqlite。
但是,某些 Qt 对象在更新 Sqlite 数据库时不会自动转换为 Python 或 Sqlite 等效项。例如,QDate、QDateTime、QString 等会引发错误。目前我正在维护转换功能。
我使用 QSql 进行了调查,这似乎克服了强制转换问题。此外,它能够连接到 Access 和 Sqlite。这两个好处似乎允许我重构我的代码以使用更少的模块而不是维护我自己的转换函数。
我正在寻找的是任何 SO 社区因切换到 QSql 而经历的重要副作用、性能增益/损失、功能增益/损失的列表。
到目前为止,我遇到的一个功能损失是无法使用 QODBC 驱动程序使用 Access 函数(例如,'SELECT LCASE(fieldname) from tablename' 失败,'SELECT FORMAT(fieldname, "General Number") from tablename')