2013-02-08 72 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的观点转化为答案)。

相关问题