PQexecPrepared

Prototypes

PGresult *PQexecPrepared(PGconn *conn, const char *stmtName, int nParams, const char **paramValues, const int *paramLengths, const int *paramFormats, int resultFormat);

Description

Exécute l'ordre Sql de nom stmtName qui a déjà été préparé.

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.

Exemple

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

Voir aussi

PQprepare pour préparer un ordre Sql. PQexec pour exécuter un ordre Sql sans préparation. PQgetvalue pour lire un enregistrement d'un ordre Sql exécuté. PQclear pour libérer un ordre Sql.