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并編譯即可。