0

我已经这样调用了我的 SQL 查询(省略了对帖子的错误检查)

PGresult *result = PQexec(self.connection, "SELECT * FROM \"getNewPaths\"()");
const int numRows = PQntuples(result);

int row = 0;
for (int i = 0; i < numRows; i++) {
    char *path = PQgetvalue(result, row, 0);

一旦我点击 PQgetvalue 调用,我就会得到异常。如果我在 psql 中运行相同的 SQL 命令,我确实会得到我期望看到的内容。getNewPaths() 函数的返回类型为:TABLE(fullpath varchar, uuid uuid)

由于我要求第一行的第一列,我不确定为什么会出现此错误。

我的 mac PostgreSQL 服务器运行的是 9.2.1,我的客户端运行的是 9.1.5

4

1 回答 1

1

刚刚想通了。在我实际使用结果之前,一个宏正在调用 PQclear(result)。删除它可以解决问题。

于 2013-07-15T20:08:52.903 回答