【问题标题】:Read number of columns and their type from query result table (in C)从查询结果表中读取列数及其类型(在 C 中)
【发布时间】:2009-02-17 14:57:31
【问题描述】:

我使用 PostgreSQL 数据库和 C 来连接它。在dyntest.pgc 的帮助下,我可以从查询的结果表中访问列数及其 (SQL3) 类型。

问题是当结果表为空时,我无法获取一行来获取此数据。有人对此有解决方案吗?

查询可以是 SELECT 1,2,3 - 所以,我认为我不能为此使用 INFORMATION SCHEMA,因为没有基表。

【问题讨论】:

    标签: sql c postgresql


    【解决方案1】:

    我不熟悉 ecpg,但使用 libpq,您应该能够调用 PQnfields 来获取字段数量,然后调用各种 PQf* 例程(如 PQftype、PQfname)来获取详细信息。这些函数采用一个 PGResult,即使没有行也是如此。

    【讨论】:

      【解决方案2】:

      问题是当结果表为空时,我无法获取一行来获取此数据。有人对此有解决方案吗?

      我不确定是否真的能得到你想要的,但似乎答案就在问题中。如果表为空,则没有行...

      这里唯一的解决方案似乎是您必须等待一个非空的结果表,然后获取所需的信息。

      【讨论】:

      • 我不想获取一行,我只想获取列数和类型,但我必须这样做,因为我不知道在“dyntest.pgc”中获取另一个更好的方法"
      猜你喜欢
      • 2010-09-27
      • 2023-03-31
      • 2021-02-21
      • 1970-01-01
      • 2012-08-29
      • 1970-01-01
      • 2018-08-16
      • 2011-01-26
      • 1970-01-01
      相关资源
      最近更新 更多