Прочитайте значение SELECT и сохраните его как int в C - PullRequest
2 голосов
/ 13 мая 2019

Похоже, я не могу понять это ... Я читал руководство по 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Я видел в паре примеров кода в Интернете, что i и j используются как две другие переменные, но для меня это не имеет смысла, поскольку я ничего не зацикливаю ..?

Любая помощь приветствуется!

1 Ответ

1 голос
/ 13 мая 2019

В соответствии с документацией для PQgetvalue параметры являются следующими:

const PGresult *res
int row_number
int column_number

Далее:

Возвращает значение одного поля одной строки PGresult.Номера строк и столбцов начинаются с 0.

Итак, если вы выбираете результат запроса, который предназначен для возврата одного поля, я представляю значение 0 для столбца и строкиномер будет правильным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...