Re: Examples of using PQexecParams

From: John R Pierce <pierce(at)hogranch(dot)com>
To: Daniel <danwgrace(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Examples of using PQexecParams
Date: 2009-12-04 19:50:03
Message-ID: 4B1967EB.1010300@hogranch.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Daniel wrote:
> I was looking for examples of using PQexecParams but all I found was
> this: http://sepp.oetiker.ch/postgresql-8.2.3-ds/libpq-example.html
>
> /* Convert integer value "2" to network byte order */
> binaryIntVal = htonl((uint32_t) 2);
> /* Set up parameter arrays for PQexecParams */
> paramValues[0] = (char *) &binaryIntVal;
> paramLengths[0] = sizeof(binaryIntVal);
> paramFormats[0] = 1; /* binary */
> ...
> seems a bit convoluted.
>
> In particular I was looking for an example of setting up a string
> parameter for PQexecParams, assuming that is possible.
>

strings don't need to be passed in binary, so its a lot simpler.

see example 30-3 on
http://www.postgresql.org/docs/current/static/libpq-example.html

const char *paramValues[1];

/* Here is our out-of-line parameter value */
paramValues[0] = "joe's place";

res = PQexecParams(conn,
"SELECT * FROM test1 WHERE t = $1",
1, /* one param */
NULL, /* let the backend deduce param type */
paramValues,
NULL, /* don't need param lengths since text */
NULL, /* default to all text params */
0); /* ask for text results */

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Merlin Moncure 2009-12-04 21:05:13 Re: Examples of using PQexecParams
Previous Message Dave Page 2009-12-04 19:36:11 Re: PostgreSQL Release Support Policy