|
NAMEPQparamExec, PQparamExecPrepared - Executes a paramertized query using the parameters in a PGparam.SYNOPSIS#include <libpqtypes.h>PGresult *PQparamExec(PGconn *conn, PGparam *param,
const char *command, int resultFormat);
DESCRIPTIONThe PQparamExec() and PQparamExecPrepared() functions execute a parameterized query using the parameters in a PGparam. The only difference between these functions is that PQparamExec() expects a parameterized command string while PQparamExecPrepared() expects a stmtName previously prepared via PQprepare().Both functions take a param argument, which must contain the same number of parameters as either the command string or previously prepared stmtName. Internally, the param is transformed into parallel arrays that are supplied to a PQexecParams() or PQexecPrepared() 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 composites which only support binary. RETURN VALUEOn success, a pointer to a PGresult is returned. On error, NULL is returned and PQgeterror(3) will contain an error message.IMPORTANT!
This behavior difference provides a single error indicator, a NULL return, and a single function that can get the error message, PQgeterror(). EXAMPLESUsing PQparamExecThe example uses PQparamExec() to execute a query using a PGparam. The example also demonstrates how to detect a failed exec and output an error message.PGparam *param = PQparamCreate(conn); if(!PQputf(param, "%text %int4", "ACTIVE", CAT_CAR)) { fprintf(stderr, "PQputf: %s\n", PQgeterror()); } else { PGresult *res = PQparamExec(conn, param, "SELECT * FROM t WHERE status=$1 AND category=$2", 1); if(!res) fprintf(stderr, "PQparamExec: %s\n", PQgeterror()); else print_results(res); PQclear(res); } PQparamClear(param); Using PQparamExecPreparedPQparamExecPrepared() is behaves identically to PQparamExec(), except PQparamExecPrepared() requires that a statement has been previously prepared via PQprepare(). Also, a stmtName is supplied rather than a parameterized command string.AUTHORA contribution of eSilo, LLC. for the PostgreSQL Database Management System. Written by Andrew Chernow and Merlin Moncure.REPORTING BUGSReport bugs to <libpqtypes@esilo.com>.COPYRIGHTCopyright (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), PQparamSendQuery(3), PQparamSendQueryPrepared(3)
Visit the GSP FreeBSD Man Page Interface. |