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


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 поддерживает большие определяемые пользователем типы данных CLR. Дополнительные сведения см. в разделе Определяемые пользователем типы данных больших значений CLR (ODBC).

См. также

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

Подробности реализации API-интерфейса ODBC

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

SQLSetDescRec