char *PQgetvalue(const PGresult *res, int tup_num, int field_num);
Le résultat est NULL si la valeur est nulle.
#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;
static char *Resultat;
static int TailleResultat;
...
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)
{
...
}
...
if (PQstatus(hConnexion)!=CONNECTION_OK))
{
...
}
...
if (!PQgetisnull(hOrdreSql, 0, 0))
{
Resultat=PQgetvalue(hOrdreSql, 0, 0);
...
if (PQstatus(hConnexion)!=CONNECTION_OK))
{
...
}
...
TailleResultat=PQgetlength(hOrdreSql, 0, 0);
...
if (PQstatus(hConnexion)!=CONNECTION_OK))
{
...
}
...
}
else
{
Resultat=NULL;
TailleResultat=0;
}