Thread: PQexecParams-Problem

PQexecParams-Problem

From
"Mavinakuli, Prasanna (STSD)"
Date:
Hi,

Problem Description:

We need to insert binary data to tables and retrieve the
Same-(data type is bytea).
We are using PQExecParams for inserting and retrieving
Data.
Table contains other than binary data also.

When we tried to fetch the integer data (type-int2)
We are not able to get anything from that result set(alws value is
zero).but Pqexec returns the desired value

Questions:

1)how can we get the integer value from the result set which is got from
executing PQexecParams;
(the sample code is given below)

2)if it's not possible then how can we get the BINARY values using
Pqexec

Here is the code snapshot:

string query="select intval from dummy where intval=7;";


res1=PQexecParams(conn,query.c_str(),0,NULL,NULL,NULL,NULL,1);
            for(unsigned char i=0;i<4;i++)
            {
                printf("%d \n",(PQgetvalue(res1,0,0)[i]));
                //prints 0000 here
          }

            cout<<"value from pqexec params
****"<<atoi(PQgetvalue(res1,0,0))<<endl; //prints 0 here

            cout<<"using pqexec ***"<<endl;
            res1=PQexec(conn,"select intval from dummy where
intval=7;");//prints 7 below.
            cout<<"value from pqexec
**"<<atoi(PQgetvalue(res1,0,0))<<endl;


Prasanna.

Re: PQexecParams-Problem

From
Tom Lane
Date:
"Mavinakuli, Prasanna (STSD)" <prasanna.b-m@hp.com> writes:
> Here is the code snapshot:
> string query="select intval from dummy where intval=7;";

> res1=PQexecParams(conn,query.c_str(),0,NULL,NULL,NULL,NULL,1);
>             for(unsigned char i=0;i<4;i++)
>             {
>                 printf("%d \n",(PQgetvalue(res1,0,0)[i]));
>                 //prints 0000 here
>           }

Um, what's the actual data type of intval?  The above would be expected
if it were, say, bigint.

            regards, tom lane