SQLBindCol

Prototypes

SQLRETURN SQLBindCol(SQLHSTMT StatementHandle, SQLUSMALLINT ColumnNumber, SQLSMALLINT TargetType, SQLPOINTER TargetValuePtr, SQLINTEGER BufferLength, SQLLEN *StrLen_or_Ind);

Description

Lie le résultat de la requête de numéro ColumnNumber au handle de l'ordre Sql StatementHandle. La numérotation des résultats commence à 1.

Le type natif du résultat est donné par TargetType.

La taille de toutes les valeurs des résultats en tableau est donnée par BufferLength.

La valeur du résultat est récupérée par l'adresse TargetValuePtr et son indicateur ou sa taille par StrLen_or_IndPtr.

Les valeurs possibles de TargetType sont les suivantes :

Les valeurs possibles de StrLen_or_IndPtr sont les suivantes :

Le résultat est SQL_SUCCESS en cas de succès.

Exemple

#include <windows.h>
#include <sql.h>
#include <sqlext.h>
#include <sqltypes.h>

static SQLHANDLE hOrdreSql;
static long E;
static SQLINTEGER IndicateurE;
static long TableE[256];
static SQLINTEGER IndicateurTableE[256];
static char C[20];
static SQLINTEGER IndicateurC;
static char TableC[256][20];
static SQLINTEGER IndicateurTableC[256];

...
/* Resultat unitaire. */
if (SQLBindCol(hOrdreSql, 1, SQL_C_SLONG, (SQLPOINTER)&E, sizeof(long), &IndicateurE)!=SQL_SUCCESS) ...
/* Resultat en tableau. */
if (SQLBindCol(hOrdreSql, 1, SQL_C_SLONG, (SQLPOINTER)TableE, sizeof(long)*256, TableIndicateurE)!=SQL_SUCCESS) ... /* Resultat unitaire. */
if (SQLBindCol(hOrdreSql, 1, SQL_C_CHAR, (SQLPOINTER)&C, sizeof(char)*20, &IndicateurC)!=SQL_SUCCESS) ...
/* Resultat en tableau. */
if (SQLBindCol(hOrdreSql, 1, SQL_C_CHAR, (SQLPOINTER)TableC, sizeof(char)*20*256, TableIndicateurC)!=SQL_SUCCESS) ...

Voir aussi

SQLSetStmtAttr pour fixer la taille des tableaux des résultats d'un ordre Sql. SQLBindParameter pour lier un paramètre d'un ordre Sql. SQLFreeStmt pour libérer un ordre Sql. SQLGetData pour lire dynamiquement un résultat d'une requête.