Поделиться через


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).

См. также:

SQLSetDescRec
ODBC API Implementation Details