SQLRETURN SQLGetData(SQLHSTMT StatementHandle, SQLUSMALLINT ColumnNumber, SQLSMALLINT TargetType, SQLPOINTER TargetValuePtr, SQLINTEGER BufferLength, SQLINTEGER *StrLen_or_IndPtr);
Le type de la valeur est donné par TargetType. La valeur est lue dans le buffer TargetValuePtr de taille BufferLength en octets. L'indicateur ou la taille utilisée est renvoyée dans StrLen_or_IndPtr.
Les valeurs possibles de TargetType sont les suivantes :
unsigned char
où seul le bit de poids faible est utilisé.unsigned char
.unsigned short
.long
.double
.unsigned char *
.char *
.wchar_t *
.TIMESTAMP_STRUCT
.SQLGetData peut être appelée plusieurs fois.
Le résultat est SQL_SUCCESS en cas de succès.
#include <windows.h>
#include <sql.h>
#include <sqlext.h>
#include <sqltypes.h>
static SQLHANDLE hOrdreSql;
static SQLINTEGER IndicateurC;
static char C[20];
...
if (SQLExecDirect(hOrdreSql, "select ename from emp;", SQL_NTS)!=SQL_SUCCESS)
{
...
}
...
if (SQLGetData(hOrdreSql, 1, SQL_C_CHAR, (SQLPOINTER)C, sizeof(char)*20, &IndictateurC)!=SQL_SUCCESS)
{
...
}
...
if (SQLParamData(hOrdreSql, NULL)!=SQL_SUCCESS)
{
...
}
...