读取SELECT的值并将其存储为int类型的C

时间:2019-05-13 15:47:15

标签: c postgresql

看来我无法弄清楚这一点。.我一直在阅读POSTGRESQL手册,但没有深入探讨这一特定问题,因此我在这里寻求帮助。 我的主要目的是将查询的答案转换为变量。我读到它需要使用PQgetvalue ..?但是我只有res,无法弄清楚要把什么作为其他两个变量。PQgetvalue应该按以下方式使用:

char *PQgetvalue(const PGresult *res,
                 int row_number,
                 int column_number);

这是我的代码部分,我在其中查询

char o[255];
    sprintf(o, "SELECT credits FROM subject WHERE id_subject = %d;", id_subject);
    printf("%s\n", o);
    res = PQexec(conn, o);
    CREDITS = PQgetvalue(res, , );
    printf("CREDITS= %d", CREDITS);

如果我只是在MyWebSQL中使用该查询,它将为我提供正确的答案,但是我想获取该查询的整数值并将其存储在CREDITS中。

我在网上的几个代码示例中看到i和j用作另外两个变量,但是对我来说这没有意义,因为我没有循环任何内容..?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

根据PQgetvalue的文档,参数为:

const PGresult *res
int row_number
int column_number

进一步:

  

返回PGresult的一行的单个字段值。行号和列号从0开始。

因此,如果您要获取旨在返回单个字段的查询结果,那么我认为列和行号的0值都是正确的。