Re: Return PGresult

From: Dave Smith <dave(at)candata(dot)com>
To: anuj <Anuj(at)in-control(dot)de>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Return PGresult
Date: 2000-07-20 11:51:27
Message-ID: 3976E7BF.1DF14A1A@candata.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

anuj wrote:
>
> Hi,
> PGresult is a structure.
> I want to return PGresult pointer.(Code is given below.)
> Is this possible ? if yes , please give me the solution.
> Thanks in Advance.
> Anuj
> ===========================
> /* tempdb=>create table tbltemp (id int4, name varchar(30)); */
> #include <stdio.h>
> #include <pgsql/libpq-fe.h>
>
> main()
> {
> int totalrec;
> PGresult *resu;
> dbQuery("tempdb","select * from tbltemp",&totalrec,resu);
> printf("\n The total rec = %i\n", totalrec);
> printf(" The total rec = %i\n", PQntuples(resu));
> } /* End of main */
>
> dbQuery(char * dbName, char *sqlstatement , int *totalrec,PGresult *res)
> {
> PGconn *conn;
> char fullsql[500];
> conn = PQsetdb(NULL, NULL, NULL, NULL, dbName);
> res = PQexec(conn, "BEGIN");
> PQclear(res);
> strcpy(fullsql , "DECLARE mycursor CURSOR FOR ");
> strcat(fullsql,sqlstatement);
> res = PQexec(conn, fullsql);
> PQclear(res);
> res = PQexec(conn, "FETCH ALL in mycursor");
> *totalrec = PQntuples(res);
> }
> ===========================
>
> Out put :
> $
> The total rec = 2 // This result is right.
> The total rec = 0 // The same result is not showing.
> $

Try
dbQuery("tempdb","select * from tbltemp",&totalrec,&resu);
and the function declaration
dbQuery(char *dbName,char *sqlststatement,int *totalrec,PGresult **res);
and then within the function reference it as *res=

--
Dave Smith
Candata Systems Ltd.
(416) 493-9020
dave(at)candata(dot)com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Guillaume Perréal 2000-07-20 11:53:24 Migrating from 7.0RC1 to 7.0.2 and initdb
Previous Message anuj 2000-07-20 11:45:17 RE: Return PGresult