【发布时间】:2009-02-17 14:57:31
【问题描述】:
我使用 PostgreSQL 数据库和 C 来连接它。在dyntest.pgc 的帮助下,我可以从查询的结果表中访问列数及其 (SQL3) 类型。
问题是当结果表为空时,我无法获取一行来获取此数据。有人对此有解决方案吗?
查询可以是 SELECT 1,2,3 - 所以,我认为我不能为此使用 INFORMATION SCHEMA,因为没有基表。
【问题讨论】:
标签: sql c postgresql
我使用 PostgreSQL 数据库和 C 来连接它。在dyntest.pgc 的帮助下,我可以从查询的结果表中访问列数及其 (SQL3) 类型。
问题是当结果表为空时,我无法获取一行来获取此数据。有人对此有解决方案吗?
查询可以是 SELECT 1,2,3 - 所以,我认为我不能为此使用 INFORMATION SCHEMA,因为没有基表。
【问题讨论】:
标签: sql c postgresql
我不熟悉 ecpg,但使用 libpq,您应该能够调用 PQnfields 来获取字段数量,然后调用各种 PQf* 例程(如 PQftype、PQfname)来获取详细信息。这些函数采用一个 PGResult,即使没有行也是如此。
【讨论】:
问题是当结果表为空时,我无法获取一行来获取此数据。有人对此有解决方案吗?
我不确定是否真的能得到你想要的,但似乎答案就在问题中。如果表为空,则没有行...
这里唯一的解决方案似乎是您必须等待一个非空的结果表,然后获取所需的信息。
【讨论】: