PQgetlength
Prototypes
int PQgetlength(const PGresult *res, int tup_num, int field_num);
Description
Retourne la taille en nombre de caractères du résultat de numéro field_num de l'enregistrement de numéro tup_num du curseur res est non nul. Les numérotations commencent à 0.
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;
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 (!PQgetlength(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;
}
Voir aussi
PQntuples pour lire le nombre d'enregistrements produits par un ordre Sql.
PQexecPrepared pour exécuter un ordre Sql.
PQgetvalue pour lire la valeur d'un résultat d'un ordre Sql.
PQgetisnull pour connaître si un résultat est nul ou non.