| From: | "Y(dot) Ming Lam" <ymlam(at)rogers(dot)com> |
|---|---|
| To: | pgsql-interfaces(at)postgresql(dot)org |
| Subject: | PQgetvalue failed to get non-text data under binary format |
| Date: | 2007-05-21 04:33:28 |
| Message-ID: | 46512118.2040105@rogers.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-interfaces |
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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Jeff Lynn | 2007-05-21 04:34:51 | PQgetvalue failed to return column value for non-text data in binary format |
| Previous Message | Andrew McNamara | 2007-05-17 23:11:39 | Re: libpq: NULL in binary parameters |