2013-02-08 77 views
0

我有下面的代碼(這是部分的,ofcourse)。我可以連接成功的數據庫,我可以做INSERT INTO和所有的東西,但SELECT FROM的結果永遠不能顯示。PostgreSQL的libpq和SELECT FROM

snprintf(sqlSelect, sizeof(sqlSelect), "select * from %s", sqlTableName); 

res = PQexec(conn, sqlSelect); 
if (PQresultStatus(res) != PGRES_TUPLES_OK) { 
    fprintf(stderr, "SELECT FROM failed: %s", PQerrorMessage(conn)); 
    PQclear(res); 
    exitNicely(conn); 
} 

PQclear(res); 

爲什麼上面的代碼不會在終端打印SELECT * FROM db_name結果?

+0

你收到什麼錯誤? – cdhowie 2013-02-08 19:44:56

+0

我沒有收到任何類型的錯誤。只是「空白」行應該表明'SELECT'命令已成功傳遞到服務器。 – Teddy 2013-02-08 19:47:03

+4

我沒有看到任何將打印查詢結果的代碼(並且不,它不會自動發生) – 2013-02-08 19:48:14

回答

1

該代碼不會打印出或以其他方式使用結果行,它只是將它們取出並丟棄。

您需要迭代結果集並實際做一些事情。請參閱libpq examples以瞭解執行此操作的一些方法。 (CW,因爲我只是將Erwin的觀點轉化爲答案)。

相關問題