Re: join question - requesting for a simple C program where it can INSERT data into database as reference

From: "joo" <joo(at)sebasasia(dot)com>
To: <pgsql-sql(at)postgresql(dot)org>
Subject: Re: join question - requesting for a simple C program where it can INSERT data into database as reference
Date: 2002-06-14 02:03:58
Message-ID: 001801c21347$bfd22020$320a0a0a@joo
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Christopher Kings-Lynne 2002-06-14 02:24:05 Re: make a unique index for foreign keys?
Previous Message Andrew Hammond 2002-06-13 23:39:39 simple recursive function in plpgsql fails