更新时间:2026-07-28 GMT+08:00
分享

处理结果集

libpq提供PQnfieldsPQntuplesPQfname等函数来帮助用户对执行SELECT查询后的结果进行适当的解析和处理。主要步骤如下:

  1. 判断执行结果状态;
  2. 获取结果集行数和列数;
  3. 遍历并提取数据;
  4. 释放PGresult对象(必须执行)。

示例如下(完整示例请参考数据库建连、执行SQL并返回结果):

/* 打印属性名称 */
nFields = PQnfields(res);
for (i = 0; i < nFields; i++)
    printf("%-15s", PQfname(res, i));
printf("\n\n");

/* 打印行 */
for (i = 0; i < PQntuples(res); i++)
{
    for (j = 0; j < nFields; j++)
	    printf("%-15s", PQgetvalue(res, i, j));
    printf("\n");
}

/* 释放结果对象的内存以避免内存泄漏 */    
PQclear(res);

相关文档