#include #include #include "libpq-fe.h" static void print_result(PGresult *res) { printf("=== result set:\n"); for (int row = 0; row < PQntuples(res); row++) { printf("row %d: ", row); for (int col = 0; col < PQnfields(res); col++) { printf("%d/%s=%s; ", col, PQfname(res, col), PQgetvalue(res, row, col)); } printf("\n"); } } int main(int argc, char *argv[]) { PGconn *conn; conn = PQconnectdb(""); if (PQstatus(conn) != CONNECTION_OK) { fprintf(stderr, "Connection to database failed: %s", PQerrorMessage(conn)); exit(1); } PGresult *res; int rc; rc = PQsendQueryParams(conn, "CALL pdrstest1();", 0, NULL, NULL, NULL, NULL, -1); if (rc == 0) { fprintf(stderr, "query failed: %s", PQerrorMessage(conn)); exit(1); } while ((res = PQgetResult(conn))) { print_result(res); } PQfinish(conn); return 0; }