Qt4.7版本对PostgreSQL的支持只到8.2,Qt4.8会增加到PostgreSQL9.x。
在使用QSqlTableModel中的setTable中,如果版本不对有可能会导致执行错误。
现在我们将Qt4.7版本中的数据库驱动升级,重新编译。
1 下载Qt4.8源码。
2 拷贝D:\Qt\qt-everywhere-opensource-src-4.8.0\src\sql\drivers\psql中的文件到Qt安装目标的对应目录下,同样方法再拷贝D:\Qt\qt-everywhere-opensource-src-4.8.0\src\plugins\sqldrivers\psql中的文件。
3 到D:\Qt\2010.05\qt\src\plugins\sqldrivers\psql目录下,根据psql.pro放到QtCreator中准备编译,在项目中增加qmake参数,增加PostgreSQL9.0的头文件引用和库连接:INCLUDEPATH+=D:\soft\PostgreSQL\9.0\include LIBS+=D:\soft\PostgreSQL\9.0\lib\libpq.lib
4 执行qmake并编译即可。