PQgetResult
功能描述
等待从前面PQsendQuery,PQsendQueryParams, PQsendPrepare,PQsendQueryPrepared, PQsendDescribePrepared或者PQsendDescribePortal 调用返回的下一个结果,然后返回之。当命令结束并且没有更多结果后返回 NULL。
接口原型
PGresult *PQgetResult(PGconn *conn);
参数说明
参数 | 描述 |
---|---|
conn | 建立连接时返回的连接结构体指针,该指针用于标识某个特定连接。 |
返回值
等待从前面PQsendQuery,PQsendQueryParams, PQsendPrepare,PQsendQueryPrepared, PQsendDescribePrepared或者PQsendDescribePortal 调用返回的下一个结果,然后返回之。当命令结束并且没有更多结果后返回 NULL。
其他
必须重复的调用PQgetResult,直到它返回空指针,表明该命令结束。 (如果在没有活跃的命令时调用,PQgetResult将只是立即返回一个空指针。) 每个PQgetResult返回的非 NULL 结果都应该用前面描述的 PGresult访问函数进行分析。不要忘了在结束分析后用PQclear 释放每个结果对象。注意,PQgetResult 仅在一种情况下被阻塞,即当前命令是活跃的而且需要响应数据还没有被PQconsumeInput读取的情况。
即使在PQresultStatus表明一个致命的错误时, 也应该调用PQgetResult直到它返回一个空指针, 以允许libpq完全的处理错误消息。