SQLSetDescRec
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Cette rubrique décrit les fonctionnalités SQLSetDescRec spécifiques à 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. |
Durée | 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 |
Mise à 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 lorsque la liaison de ligne de variable est utilisée. |
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 :
Attribut | Type | Sous-type | Durée | 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 types clR définis par l’utilisateur (UDT). Pour plus d’informations, consultez Les types CLR définis par l’utilisateur (ODBC) volumineux.