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


SQLSetDescRec

В этом разделе обсуждаются функции SQLSetDescRec, определяемые собственным клиентом SQL Server.

Функция SQLSetDescRec и параметры с табличными значениями

Функция SQLSetDescRec позволяет задать поля дескриптора для возвращающих табличное значение параметров и содержащих их столбцов. Столбцы возвращающих табличное значение параметров доступны только в том случае, когда в поле заголовка дескриптора SQL_SOPT_SS_PARAM_FOCUS задан порядковый номер записи, имеющей тип SQL_DESC_TYPE со значением SQL_SS_TABLE. Дополнительные сведения об атрибуте SQL_SOPT_SS_PARAM_FOCUS см. в разделе SQLSetStmtAttr.

В следующей таблице указано соответствие между параметрами и полями дескриптора.

Параметр

Связанные атрибуты для параметров, не возвращающих табличного значения, в том числе для столбцов параметров с табличным значением.

Связанные атрибуты для возвращающих табличное значение параметров

Type

SQL_DESC_TYPE

SQL_SS_TABLE

SubType

Не учитывается

Для записей типа SQL_DATETIME и SQL_INTERVAL этот атрибут должен иметь значение SQL_DESC_DATETIME_INTERVAL_CODE.

Length

SQL_DESC_OCTET_LENGTH

Длина имени типа параметра, возвращающего табличное значение. Значение может быть равно SQL_NTS, если имя типа представляет собой строку, завершающуюся нулем, или 0, если имя типа параметра, возвращающего табличное значение, не требуется.

Precision

SQL_DESC_PRECISION

SQL_DESC_ARRAY_SIZE

Scale

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 усовершенствованных функций даты-времени

Для типов даты-времени допускаются следующие значения.

Type

SubType

Length

Precision

Scale

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

Дополнительные сведения см. в разделе Улучшенная обработка даты и времени (ODBC).

Поддержка методом SQLSetDescRec больших пользовательских типов в среде CLR

Метод SQLSetDescRec поддерживает большие определяемые пользователем типы (UDT) в среде CLR. Дополнительные сведения см. в разделе Определяемые пользователем типы данных больших значений CLR (ODBC).

См. также

Основные понятия

Другие ресурсы