PGresult *PQexecPrepared(PGconn *conn, const char *stmtName, int nParams, const char **paramValues, const int *paramLengths, const int *paramFormats,
int resultFormat);
L'ordre Sql comporte nParams paramètres dont la définition est définie dans les tableaux :
Le résultat est non NULL en cas de succès.
#include <server/pgtime.h>
#include <libpq-fe.h>
#include <libpq/libpq-fs.h>
static PGconn *hConnexion;
static PGresult *hOrdreSql;
static Oid TableTypes[2];
static char TableValeurs[2][256];
static int TableTailles[2];
static int TableFormats[2];
static int NbEnregistrements;
...
TableParametres[0]=INT4OID;
sprintf(TableValeurs[0], "%ld", ...);
TableTailles[0]=strlen(TableValeurs[0]);
TableFormats[0]=1;
TableParametres[1]=TEXTOID;
strcat(TableValeurs[1], ...);
TableTailles[1]=strlen(TableValeurs[1]);
TableFormats[1]=0;
hOrdreSql=PQprepare(hConnexion, "MonOrdreSql", "selection ename, deptno from emp;", 2, TableTypes);
...
if (PQstatus(hConnexion)!=CONNECTION_OK))
{
...
}
...
if (PQexecPrepared(hConnexion, "MonOrdreSql", 2, TableValeurs, TableTailles, TableFormats, 1)!=PGRES_COMMAND_OK)
{
...
}
...
PQclear(hOrdreSql);
...