Qt4.7版本對PostgreSQL的支持只到8.2,Qt4.8會增加到PostgreSQL9.x。
在使用QSqlTableModel中的setTable中,如果版本不對有可能會導(dǎo)致執(zhí)行錯誤。
現(xiàn)在我們將Qt4.7版本中的數(shù)據(jù)庫驅(qū)動升級,重新編譯。
1 下載Qt4.8源碼。
2 拷貝D:\Qt\qt-everywhere-opensource-src-4.8.0\src\sql\drivers\psql中的文件到Qt安裝目標(biāo)的對應(yīng)目錄下,同樣方法再拷貝D:\Qt\qt-everywhere-opensource-src-4.8.0\src\plugins\sqldrivers\psql中的文件。
3 到D:\Qt\2010.05\qt\src\plugins\sqldrivers\psql目錄下,根據(jù)psql.pro放到QtCreator中準(zhǔn)備編譯,在項目中增加qmake參數(shù),增加PostgreSQL9.0的頭文件引用和庫連接:INCLUDEPATH+=D:\soft\PostgreSQL\9.0\include LIBS+=D:\soft\PostgreSQL\9.0\lib\libpq.lib
4 執(zhí)行qmake并編譯即可。