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