2013-02-08 4 views
0

다음과 같은 코드가 있습니다 (부분적인 것입니다). 데이터베이스에 성공적으로 연결할 수 있지만 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

+0

나는 어떤 종류의 오류도 내지 않는다. ''SELECT' 명령이 성공적으로 서버에 전달되었음을 나타내는 "빈"행. – Teddy

+4

쿼리 결과를 인쇄하는 * 코드가 표시되지 않습니다 (아니요, 자동으로 발생하지 않습니다). –

답변

1

코드가 인쇄되지 않거나 결과 행을 사용하지 않으면 코드를 가져 와서 버립니다.

결과 집합을 반복하여 실제로 처리해야합니다. 이를 수행하는 방법은 libpq examples을 참조하십시오.

(CW는 내가 Erwin의 포인트를 대답으로 변환하기 때문에).