スポンサーリンク
#include <iostream> #include <libpq-fe.h> #pragma comment(lib,"libpq.lib") int main() { // データベースへ接続する // ユーザー名:postgres // パスワード:password PGconn* conn; conn = PQconnectdb("user=postgres password=password"); if (PQstatus(conn) != CONNECTION_OK) { printf("%s", PQerrorMessage(conn)); exit(1); } PGresult* pgres; try {
pgres = PQexec(conn, "select schemaname, tablename, tableowner from pg_tables"); if (PQresultStatus(pgres) != PGRES_TUPLES_OK) { throw -1; } int row = PQntuples(pgres); // 行数取得 int col = PQnfields(pgres); // 列数取得 // 列名ループ for (int c = 0; c < col; c++) { //列名取得 char* name = PQfname(pgres, c); printf("%-25s | ", name); } printf("\n-----------------------------------------------------------------------------------\n"); // 行番号ループ for (int r = 0; r < row; r++) { // 列ループ for (int c = 0; c < col; c++) { // 値取得 char* val = PQgetvalue(pgres, r, c); printf("%-25s | ", val); } puts(""); } PQclear(pgres);
} catch (...) { printf("%s", PQerrorMessage(conn)); PQclear(pgres); } PQfinish(conn); }