Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette rubrique décrit les fonctionnalités SQLSetDescRec spécifiques à SQL Server Native Client.
Paramètres SQLSetDescRec et Table-Valued
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, définissez cette valeur sur 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 est arrêté null ou zéro si le nom du type de paramètre table n’est pas obligatoire. |
| Précision | SQL_DESC_PRECISION | SQL_DESC_ARRAY_SIZE |
| Échelle | SQL_DESC_SCALE | Inutilisé. Ce paramètre doit être égal à zéro. |
| 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 obligatoire. 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 de date et d’heure améliorées
Les valeurs autorisées pour les types date/heure sont les suivantes :
| Type | Sous-type | Durée | Précision | Échelle | |
|---|---|---|---|---|---|
| date/heure | 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 |
| Heure | 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 de SQLSetDescRec pour les UDT CLR volumineux
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.