pg.ddx.io  pgsql-interfaces@postgresql.org mailing list archive  
help / color / mirror / Atom feed
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





view thread (2+ messages)  latest in thread

Message-ID: <46512118.2040105@rogers.com>
Permalink:  ../46512118.2040105@rogers.com/
Also on:    postgresql.org/message-id/46512118.2040105@rogers.com

 · 

reply

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