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 */
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 |