SQLSetDescRec
Cette rubrique décrit la fonctionnalité SQLSetDescRec spécifique à SQL Server Native Client.
SQLSetDescRec et paramètres table
SQLSetDescRec peut être utilisé pour définir des champs de descripteur pour les paramètres table et les colonnes de paramètres table. Les colonnes de paramètre table sont disponibles uniquement lorsque le champ d'en-tête de descripteur SQL_SOPT_SS_PARAM_FOCUS est défini sur l'ordinal d'un enregistrement pour lequel SQL_DESC_TYPE a la valeur SQL_SS_TABLE. Pour plus d'informations sur SQL_SOPT_SS_PARAM_FOCUS, consultez SQLSetStmtAttr.
Le tableau suivant décrit le mappage entre les paramètres et les champs de descripteur.
Paramètre | Attribut associé pour les types de paramètres non table, y compris les colonnes de paramètres table | Attribut associé pour les paramètres table |
---|---|---|
Type | SQL_DESC_TYPE | SQL_SS_TABLE |
Sous-type | Ignoré | Pour les enregistrements de type SQL_DATETIME ou SQL_INTERVAL, affectez la valeur SQL_DESC_DATETIME_INTERVAL_CODE. |
Longueur | SQL_DESC_OCTET_LENGTH | Longueur du nom du type de paramètre table. Cela peut être SQL_NTS si le nom de type se termine par une valeur NULL ou zéro si le nom de type de paramètre table n'est pas requis. |
Précision | SQL_DESC_PRECISION | SQL_DESC_ARRAY_SIZE |
Mettre à l'échelle | SQL_DESC_SCALE | Inutilisé. Ce paramètre doit être nul. |
DataPtr | SQL_DESC_DATA_PTR dans APD | SQL_CA_SS_TYPE_NAME Ce paramètre est facultatif pour les appels de procédure stockée et NULL peut être spécifié s'il n'est pas requis. Ce paramètre doit être spécifié pour les instructions SQL qui ne sont pas des appels de procédure. DataPtr sert également de valeur unique que l’application peut utiliser pour identifier ce paramètre table lors de l’utilisation de la liaison de ligne variable. |
StringLengthPtr | SQL_DESC_OCTET_LENGTH_PTR | SQL_DESC_OCTET_LENGTH_PTR Pour un paramètre table, il s'agit du nombre de lignes à transférer ou SQL_DATA_AT_EXEC. Il s’agit d’un pointeur vers une valeur qui contient le nombre de lignes à transférer avec SQLExecDirect. |
IndicatorPtr | SQL_DESC_INDICATOR_PTR | SQL_DESC_INDICATOR_PTR |
Pour plus d’informations sur les paramètres table, consultez Paramètres table (ODBC).
Prise en charge de SQLSetDescRec pour les fonctionnalités Date et Heure améliorées
Les valeurs autorisées pour les types date/heure sont les suivantes :
Type | Sous-type | Longueur | Précision | Mise à l’échelle | |
---|---|---|---|---|---|
DATETIME | SQL_DATETIME | SQL_CODE_TIMESTAMP | 4 | 3 | 3 |
smalldatetime | SQL_SQL_DATETIME | SQL_CODE_TIMESTAMP | 8 | 0 | 0 |
Date | SQL_DATETIME | SQL_CODE_DATE | 6 | 0 | 0 |
time | SQL_SS_TIME2 | 0 | 10 | 0..7 | 0..7 |
datetime2 | SQL_DATETIME | SQL_CODE_TIMESTAMP | 16 | 0..7 | 0..7 |
datetimeoffset | SQL_SS_TIMESTAMPOFFSET | 0 | 20 | 0..7 | 0..7 |
Pour plus d’informations, consultez Améliorations de date et d’heure (ODBC).
Prise en charge SQLSetDescRec pour les types CLR volumineux définis par l'utilisateur
SQLSetDescRec
prend en charge les grands types CLR définis par l'utilisateur. Pour plus d’informations, consultez Grands types de User-Defined CLR (ODBC).