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