GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
PQparamSendQuery(3) libpqtypes Manual PQparamSendQuery(3)

PQparamSendQuery, PQparamSendQueryPrepared - Executes an asynchronous paramertized query using the parameters in a PGparam.

#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);

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 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 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 composites which only support binary.

After successfully calling PQparamSendQuery() or PQparamSendQueryPrepared(), call libpq´s PQgetResult() one or more times to obtain the results.

On success, a non-zero value is returned. On error, zero is returned and PQgeterror(3) will contain an error message.

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);

PQparamSendQueryPrepared() is behaves identically to PQparamSendQuery(), except PQparamSendQueryPrepared() requires that a statement has been previously prepared via PQprepare(). Also, a stmtName is supplied rather than a parameterized command string.

A contribution of eSilo, LLC. for the PostgreSQL Database Management System. Written by Andrew Chernow and Merlin Moncure.

Report bugs to <libpqtypes@esilo.com>.

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.

PQparamCreate(3), PQgeterror(3), PQparamExec(3), PQparamExecPrepared(3)
2011 libpqtypes

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.