My problem is, i am writing a simple retrieval program using C, to retrieve a set of records from database. Then i'll make certain calculation based on the data that i have retrieved and write it on a new database. I have follow the sample program to do the retrieval and it works. But i don't seems to have any samples to do an INSERT to the database? please anyone who have such simple or working programs where it can INSERT to any database , please reply to me as a reference.
here is the sample program that i used to do my retrieval: #include <stdio.h> #include "libpq-fe.h" void exit_nicely(PGconn *conn) { PQfinish(conn); exit(1); } main() { char *pghost, *pgport, *pgoptions, *pgtty; char *dbName; int nFields; int i, j; PGconn *conn; PGresult *res; pghost = NULL; pgport = NULL; pgoptions = NULL; pgtty = NULL; dbName = "template1"; conn = PQsetdb(pghost, pgport, pgoptions, pgtty, dbName); if (PQstatus(conn) == CONNECTION_BAD) { fprintf(stderr, "Connection to database '%s' failed.\n", dbName); fprintf(stderr, "%s", PQerrorMessage(conn)); exit_nicely(conn); } res = PQexec(conn, "BEGIN"); if (!res || PQresultStatus(res) != PGRES_COMMAND_OK) { fprintf(stderr, "BEGIN command failed\n"); PQclear(res); exit_nicely(conn); } PQclear(res); res = PQexec(conn, "DECLARE mycursor CURSOR FOR select * from event"); if (!res || PQresultStatus(res) != PGRES_COMMAND_OK) { fprintf(stderr, "DECLARE CURSOR command failed\n"); PQclear(res); exit_nicely(conn); } PQclear(res); res = PQexec(conn, "FETCH ALL in mycursor"); if (!res || PQresultStatus(res) != PGRES_TUPLES_OK) { fprintf(stderr, "FETCH ALL command didn't return tuples properly\n"); PQclear(res); exit_nicely(conn); } nFields = PQnfields(res); for (i = 0; i < nFields; i++) printf("%-15s", PQfname(res, i)); printf("\n\n"); for (i = 0; i < PQntuples(res); i++) { for (j = 0; j < nFields; j++) printf("%-15s", PQgetvalue(res, i, j)); printf("\n"); } PQclear(res); res = PQexec(conn, "CLOSE mycursor"); PQclear(res); res = PQexec(conn, "COMMIT"); PQclear(res); PQfinish(conn); return 0; } Thanks, joo ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster