libpq

    3熱度

    1回答

    我想知道是否可以直接從C/C++與libpq而不是使用字符串進行參數化查詢,如果該代碼應該如何看起來像? string tblins = ""; tblins = "INSERT INTO " + commtable + " " "(vdoc, bdoc, mytime, txml) VALUES (" "'" + cxml.vdoc + "', " + c

    5熱度

    1回答

    我試圖用Goose使用postgres(pq lib)數據庫創建此函數。 我的代碼如下: CREATE OR REPLACE FUNCTION add_userlocation(user_id INT, location_id INT) RETURNS VOID AS $BODY$ BEGIN LOOP UPDATE userslocations SE

    0熱度

    2回答

    我是一個試圖學習PostgreSQL的完全新手。我試圖通過使用libpq的C程序連接到我的postgres服務器。 這裏是服務器狀態: home/planb/postgresql-9.2.4/Project status -o "-p 5555" pg_ctl: server is running (PID: 2338) /usr/local/pgsql/bin/postgres "-D" "

    7熱度

    2回答

    我在閱讀libpq參考。它具有同步和異步方法。我發現了一些奇怪的東西。 當我看到PQsendQuery函數時,它似乎發送一個查詢並立即返回。我希望有一個回調函數來獲得通知,但是沒有這樣的事情,並且手冊說輪詢的數據可用性。 我不明白爲什麼異步方法是以輪詢方式編寫的。無論如何,因爲libp是官方的客戶端實現,我相信這個設計應該有一個很好的理由。那是什麼?或者我錯過了在其他地方提到的正確回調的東西?

    1熱度

    1回答

    當我通過libpq執行SQL命令時,如果出現類似這樣的錯誤,它會報告錯誤消息。 Error Domain=PQConnection Code=1 "ERROR: syntax error at or near "fef" LINE 1: fef ^ 這是字符串消息。我可以解析這條消息 - 因爲它非常有規律 - 可以獲得行/列號,但這是不可靠的。是否有任何其他API獲取行/列號?任何

    2熱度

    3回答

    希望有人可以幫助我使用PQprepare和PQexecPrepared。我相信我一定有什麼錯,但我沒有嘗試似乎工作。 我試圖用準備好的查詢插入到一個表,但我不斷收到此錯誤 ERROR: invalid input syntax for integer: "50.2000008" 這是我設置的Oid是701(的float8緯度值)但它說它是一個整數。我完全錯過了什麼或者有什麼錯誤的方法嗎? bool

    1熱度

    1回答

    我可以通過字符串操作更新記錄在表中有一些弱點。 所以,現在我試着用參數進行更新,但這並不像我想的那樣。 sprintf(sql, "%s%s%s%s%s%d%s", "UPDATE ", mytable, " SET ", "my_id=$0, mystr1=$1, mystr2=$2, myint=$3, mydouble=$4", "WHERE my_id='",

    0熱度

    1回答

    我正在PL/pgSQL函數中運行計算,我想在我的C++代碼中使用該計算的結果。什麼是最好的方式來做到這一點? 我可以將該結果插入表中並從中使用它,但我不確定最佳做法有多好。此外,我可以發送郵件到stderr與RAISE NOTICE但我不知道我可以在我的代碼中使用該消息。

    6熱度

    2回答

    我正在使用PostgreSQL 8.3,並在使用libpq API的C++中編寫程序。我使用PQsendQuery()函數異步執行命令。我試圖實現一個超時處理功能。當超時過期時,我通過調用PQcancel()來實現它。我用一個查詢返回100 000行(它持續大約0.5秒)並且超時1毫秒,並且發現不是取消命令,而是阻止PQcancel()直到服務器完成執行,然後返回一個成功的查詢。 據我所知,文檔說

    0熱度

    1回答

    我在我的win7的筆記本電腦安裝postgresql9.2.4,並寫了一個簡單的程序來測試我的vs2008.The代碼連接窗口PQ服務器時是在這裏: #include "stdafx.h" #include <windows.h> #include "libpq-fe.h" int _tmain(int argc, _TCHAR* argv[]) { const char *