From: Y. Ming Lam <ymlam@rogers.com>
To: pgsql-interfaces@postgresql.org
Subject: PQgetvalue failed to get non-text data under binary format
Date: Mon, 21 May 2007 00:33:28 -0400
Message-ID: <46512118.2040105@rogers.com> (raw)
Hi,
I am new to PostgreSQL and tried using the libpq C library. I can read
a test table using PQgetvalue for text format, i.e. format = 0.
However, when I experiment with using binary output format, I was unable
to read anything else except result set fiend that is in char(x),
varchar(x), i.e., character string data.
What have I done wrong?
int * pId;
LPSTR pszName;
double * pSalary;
PGresult *pResult = PQexecParams(m_pConn, (LPCTSTR)strSelect, nParams,
parmTypes, paramValues, parmLengths, parmFormats, 1);
pId = (int *)PQgetvalue(pResult, row, 0);
pszName = (LPSTR)PQgetvalue(pResult, row, 1);
pSalary = (double *)PQgetvalue(pResult, row, 6);
printf("id: %d name: %s salary: %f", *pId, pszName, *pSalary);
What I got is as follow:
+ + + printing resultset, 2 rows, 8 columns
id: 167772160 name: Amy Who salary: 0.000000
id: 16777216 name: David Smith salary: 0.000000
Which supposed to return:
id: 10 name: Amy Who salary: 150000.00
id: 1 name: David Smith salary: 350000.00
Any help is greatly appreciated!
Jeff
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-interfaces@postgresql.org
Cc: ymlam@rogers.com
Subject: Re: PQgetvalue failed to get non-text data under binary format
In-Reply-To: <46512118.2040105@rogers.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox