libpqtypes home page
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 PQparamSendQueryPrepared
PQparamSendQueryPrepared() 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) 2008 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 ALSO
PQparamCreate(3), PQgeterror(3), PQparamExec(3), PQparamExecPrepared(3)
libpqtypes 2008 PQparamSendQuery(3)
libpqtypes home page