Я использую программу C, чтобы поговорить с базой данных Postgres.PostgreSQL & C: Как распечатать весь результат PostgreSQL
Я хотел бы создать метод, который позволит пользователю вводить пользовательский запрос в программе C и видеть результаты, напечатанные как Postgres, будет печатать в своем клиенте командной строки psql
.
Для других запросов я смог использовать функции, которые я нашел в документации. Беда в том, что эти работы только потому, что я знаю, количество колонок, мне нужно, и соответствующие заголовки и т.д.
Например:
void* executeCustomQuery(const char* query){
PGresult* res = PQexec(conn, query);
//print all entries
printf(PRODUCTS_TABLE_HEADER);
int i;
for (i = 0; i < PQntuples(res); i++){
printf("| %s | %s | %s |", PQgetvalue(res, i, 0), PQgetvalue(res, i, 1), PQgetvalue(res, i, 2));
}
PQclear(res);
}
Я не могу использовать этот код, если я не знаю, что Я возвращаюсь.
Кто-нибудь знает, как распечатать прямые результаты Postgres?
Одна из приятных «функций» Postgres - это бесплатное программное обеспечение с открытым исходным кодом - взгляните на код 'psql'. –
RTFM. Все есть: http://www.postgresql.org/docs/9.2/static/libpq-exec.html#LIBPQ-EXEC-SELECT-INFO –
Я нашел его вскоре после публикации. «RTM» сделал бы это, хотя, не нужно для этого «F» – CodyBugstein