PostgreSQL執行查詢語句報錯

Date: 2015-06-12
Summary: 在使用PostgreSQL數據庫執行查詢語句時出錯,在了半天才找到的解決方案,記錄一下。

PostgreSQL執行查詢語句報錯

在使用PostgreSQL數據庫執行查詢語句時出錯,環境是Qt4.8.6,vs2010,PostGIS 2.1.7。錯誤圖片如下:

錯誤圖片

我一般會這么用(在sqlite數據庫中使用是沒有問題的):

QSqlQuery query(db);
QString strSql("select id,name,flydate,ST_AStext(territory),httpserver from public.uav_flightarea");
query.prepare(strSql);    
bool success = query.exec();

但是在PostgreSQL數據庫時會出現剛才的SQL錯誤。找了半天,發現這個問題遇到的人也不少,解決辦法倒是不多。最后找到了參考1受到了啟發,把用法改成下面的形式就沒錯了:

QSqlQuery query(db);
QString strSql("select id,name,flydate,ST_AStext(territory),httpserver from public.uav_flightarea");
bool success = query.exec(strSql);

參考2把此問題作為一個bug報了出來,至今也沒見有什么響應。或許是Qt的一個bug,或許是我的用法有問題,只好先這樣用著了。

參考

  1. https://forum.qt.io/topic/31404/solved-cannot-create-table-with-postgresql-driver/4
  2. http://bugs.quassel-irc.org/issues/1355
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容