Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

PQgetvalue failed to return column value for non-text data in binary format



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





Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group