From 731a8ab59d5db6fed059cd588384ec25e566dfc5 Mon Sep 17 00:00:00 2001 From: "Begerad, Stefan" Date: Thu, 5 Jan 2023 14:57:09 +0100 Subject: [PATCH] feat: add multiple_rows --- multiple_rows/main.c | 65 +++++++++++++++++++++++++++++++++++++++++ multiple_rows/makefile | 24 +++++++++++++++ multiple_rows/readme.md | 23 +++++++++++++++ 3 files changed, 112 insertions(+) create mode 100644 multiple_rows/main.c create mode 100644 multiple_rows/makefile create mode 100644 multiple_rows/readme.md diff --git a/multiple_rows/main.c b/multiple_rows/main.c new file mode 100644 index 0000000..9b78c13 --- /dev/null +++ b/multiple_rows/main.c @@ -0,0 +1,65 @@ +#include +#include +#include + +void do_exit(PGconn *conn) { + PQfinish(conn); + exit(1); +} + +int main(int argc, char **argv) { + /*declaration*/ + const char *conninfo; + + printf("main() Started...\n"); + + /*read command line*/ + if (argc > 1){ + printf("main() argv[1]: %s\n", argv[1]); + conninfo = argv[1]; + }else{ + printf("call ./main \n"); + return 1; + } + + /*connect to database*/ + PGconn *conn = PQconnectdb(conninfo); + + if (PQstatus(conn) == CONNECTION_BAD) { + fprintf(stderr, "Connection to database failed: %s\n", + PQerrorMessage(conn)); + do_exit(conn); + }else if(PQstatus(conn)==CONNECTION_OK){ + printf("main() connected to database\n"); + }else{ + printf("main() connection status NOT known\n"); + } + + char *user = PQuser(conn); + char *db_name = PQdb(conn); + char *pswd = PQpass(conn); + printf("User: %s\n", user); + printf("Database name: %s\n", db_name); + printf("Password: %s\n", pswd); + + /*retrive server of database using SQL statement*/ + /*PGRES_TUPLS_OK is returned for a query that returns data*/ + PGresult *res = PQexec(conn, "SELECT * FROM cars_cleanup"); + if (PQresultStatus(res) != PGRES_TUPLES_OK) { + printf("No data retrieved\n"); + PQclear(res); + do_exit(conn); + } + + /*return the number of rows in the query result*/ + int rows = PQntuples(res); + + for(int i=0; i dbname=vbn_data" +``` \ No newline at end of file