Re: join question - requesting for a simple C program where it can INSERT data into database as reference
От | joo |
---|---|
Тема | Re: join question - requesting for a simple C program where it can INSERT data into database as reference |
Дата | |
Msg-id | 001801c21347$bfd22020$320a0a0a@joo обсуждение исходный текст |
Ответ на | Re: join question - three tables, two with foreign keys to (Stephan Szabo <sszabo@megazone23.bigpanda.com>) |
Ответы |
join question - requesting for a simple C program where it can INSERT data into database as reference
|
Список | pgsql-sql |
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
В списке pgsql-sql по дате отправления: