SQLSetDescRec
В этом разделе рассматриваются функции SQLSetDescRec, относящиеся к SQL Server Native Client.
Функция SQLSetDescRec и параметры, возвращающие табличное значение
SQLSetDescRec можно использовать для задания полей дескриптора для параметров с табличным значением и столбцов возвращаемых табличным значением параметров. Столбцы возвращающих табличное значение параметров доступны только в том случае, когда в поле заголовка дескриптора SQL_SOPT_SS_PARAM_FOCUS задан порядковый номер записи, имеющей тип SQL_DESC_TYPE со значением SQL_SS_TABLE. Дополнительные сведения об атрибуте SQL_SOPT_SS_PARAM_FOCUS см. в разделе SQLSetStmtAttr.
В следующей таблице показано сопоставление между параметрами и полями дескриптора.
Параметр | Связанный атрибут для типов параметров, не являющихся табличными значениями, включая столбцы возвращающего табличное значение параметров | Связанные атрибуты для возвращающих табличное значение параметров |
---|---|---|
Тип | SQL_DESC_TYPE | SQL_SS_TABLE |
Подтип | Не учитывается | Для записей типа SQL_DATETIME и SQL_INTERVAL этот атрибут должен иметь значение SQL_DESC_DATETIME_INTERVAL_CODE. |
Длина | SQL_DESC_OCTET_LENGTH | Длина имени типа параметра, возвращающего табличное значение. Значение может быть равно SQL_NTS, если имя типа представляет собой строку, завершающуюся нулевым символом, или 0, если имя типа параметра, возвращающего табличное значение, не требуется. |
Точность | SQL_DESC_PRECISION | SQL_DESC_ARRAY_SIZE |
Масштабирование | SQL_DESC_SCALE | Не используется. Значение этого параметра должно быть равно 0. |
DataPtr | SQL_DESC_DATA_PTR в APD | SQL_CA_SS_TYPE_NAME Этот параметр не является обязательным для вызова хранимых процедур; если он не требуется, можно задать значение NULL. Параметр должен быть задан для инструкций SQL, не являющихся вызовами процедур. DataPtr также служит уникальным значением, которое приложение может использовать для идентификации этого возвращающего табличное значение параметра при использовании привязки строк переменной. |
StringLengthPtr | SQL_DESC_OCTET_LENGTH_PTR | SQL_DESC_OCTET_LENGTH_PTR Для параметра, возвращающего табличное значение, этот параметр равен числу строк для переноса или значению SQL_DATA_AT_EXEC. Это указатель на значение, которое содержит количество строк, передаваемых с помощью SQLExecDirect. |
IndicatorPtr | SQL_DESC_INDICATOR_PTR | SQL_DESC_INDICATOR_PTR |
Дополнительные сведения о возвращаемых табличном значении параметрах см. в разделе Параметры с табличным значением (ODBC).
Поддержка методом SQLSetDescRec улучшенных функций даты и времени
Для типов даты и времени допускаются следующие значения.
Тип | Подтип | Длина | Точность | Масштаб | |
---|---|---|---|---|---|
DATETIME | SQL_DATETIME | SQL_CODE_TIMESTAMP | 4 | 3 | 3 |
smalldatetime | SQL_SQL_DATETIME | SQL_CODE_TIMESTAMP | 8 | 0 | 0 |
Дата | 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 |
Дополнительные сведения см. в разделе Улучшения даты и времени (ODBC).
Поддержка методом SQLSetDescRec больших определяемых пользователем типов в среде CLR
Функция SQLSetDescRec
поддерживает определяемые пользователем типы больших данных CLR. Дополнительные сведения см. в статье Крупные типы User-Defined CLR (ODBC).