PQparamSendQuery(3) libpqtypes Manual PQparamSendQuery(3)NAME
PQparamSendQuery, PQparamSendQueryPrepared - Executes an asynchronous
paramertized query using the parameters in a PGparam.
SYNOPSIS
#include <libpqtypes.h>
int PQparamSendQuery(PGconn *conn, PGparam *param,
const char *command, int resultFormat);
int PQparamSendQueryPrepared(PGconn *conn, PGparam *param,
const char *stmtName, int resultFormat);
DESCRIPTION
The PQparamSendQuery() and PQparamSendQueryPrepared() functions execute
an asynchronous paramertized query using the parameters in a PGparam.
The only difference between these functions is that PQparamSendQuery()
expects a parameterized command string while PQparamSendQueryPrepared()
expects a stmtName previously prepared via PQprepare().
Both functions take a param argument, which must contain the same num‐
ber of parameters as either the command string or previously prepared
stmtName. Internally, the param is transformed into parallel arrays
that are supplied to a PQsendQueryParams() or PQsendQueryPrepared()
call.
The resultFormat argument indicates if text or binary results are
desired; a value of zero or one respectively. PQgetf supports both
text and binary result formats, with the exclusion of arrays and com‐
posites which only support binary.
After successfully calling PQparamSendQuery() or PQparamSendQueryPre‐
pared(), call libpq´s PQgetResult() one or more times to obtain the
results.
RETURN VALUE
On success, a non-zero value is returned. On error, zero is returned
and PQgeterror(3) will contain an error message.
EXAMPLES
Using PQparamSendQuery
The example uses PQparamSendQuery() to execute a query using a PGparam.
PGparam *param = PQparamCreate(conn);
if(!PQputf(param, "%text %int4", "ACTIVE", CAT_CAR))
{
fprintf(stderr, "PQputf: %s\n", PQgeterror());
}
else
{
int success = PQparamSendQuery(conn, param,
"SELECT * FROM t WHERE status=$1 AND category=$2", 1);
if(!success)
fprintf(stderr, "PQparamSendQuery: %s\n", PQgeterror());
else
get_and_print_results(conn); /* calls PQgetResult() */
}
PQparamClear(param);
Using PQparamSendQueryPreparedPQparamSendQueryPrepared() is behaves identically to PQparamSend‐
Query(), except PQparamSendQueryPrepared() requires that a statement
has been previously prepared via PQprepare(). Also, a stmtName is sup‐
plied rather than a parameterized command string.
AUTHOR
A contribution of eSilo, LLC. for the PostgreSQL Database Management
System. Written by Andrew Chernow and Merlin Moncure.
REPORTING BUGS
Report bugs to <libpqtypes@esilo.com>.
COPYRIGHT
Copyright (c) 2011 eSilo, LLC. All rights reserved.
This is free software; see the source for copying conditions. There is
NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
SEE ALSOPQparamCreate(3), PQgeterror(3), PQparamExec(3), PQparamExecPrepared(3)libpqtypes 2011 PQparamSendQuery(3)