
# 处理结果集
libpq提供[PQntuples](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-0161.html#ZH-CN_TOPIC_0000002559107781)、[PQnfields](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-0160.html#ZH-CN_TOPIC_0000002527828062)、[PQfname](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-0158.html#ZH-CN_TOPIC_0000002527988008)等函数来帮助用户对执行SELECT查询后的结果进行适当的解析和处理。
示例如下（完整示例请参考[数据库建连、执行SQL并返回结果](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-1637.html#ZH-CN_TOPIC_0000002527828042)）：
```
/* 打印属性名称 */
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);
```
