Freigeben über


SQLSetDescRec

In diesem Thema wird die SQLSetDescRec-Funktionalität beschrieben, die für SQL Server Native Client spezifisch ist.

SQLSetDescRec und Tabellenwertparameter

SQLSetDescRec kann verwendet werden, um Deskriptorfelder für Tabellenwertparameter und Tabellenwertparameter-Spalten festzulegen. Tabellenwertparameter-Spalten sind nur verfügbar, wenn das Deskriptorheaderfeld SQL_SOPT_SS_PARAM_FOCUS auf die Ordnungszahl eines Datensatzes festgelegt ist, für den SQL_DESC_TYPE auf SQL_SS_TABLE festgelegt ist. Weitere Informationen zu SQL_SOPT_SS_PARAM_FOCUS finden Sie unter SQLSetStmtAttr.

In der folgenden Tabelle wird die Zuordnung zwischen Parametern und Deskriptorfeldern beschrieben.

Parameter

Zugehöriges Attribut für Parametertypen, die keine Tabellenwertparameter sind, einschließlich Tabellenwertparameter-Spalten.

Verknüpftes Attribut für Tabellenwertparameter

Type

SQL_DESC_TYPE

SQL_SS_TABLE

SubType

Wird ignoriert.

Für Datensätze des Typs SQL_DATETIME oder SQL_INTERVAL wird es auf SQL_DESC_DATETIME_INTERVAL_CODE festgelegt.

Length

SQL_DESC_OCTET_LENGTH

Die Länge des Typnamens des Tabellenwertparameters. Kann SQL_NTS sein, wenn der Typname NULL-termininiert ist, oder Null (0), wenn der Typname des Tabellenwertparameters nicht erforderlich ist.

Precision

SQL_DESC_PRECISION

SQL_DESC_ARRAY_SIZE

Scale

SQL_DESC_SCALE

Wird nicht verwendet. Dieser Parameter sollte 0 (null) sein.

DataPtr

SQL_DESC_DATA_PTR in APD

SQL_CA_SS_TYPE_NAME

Dies ist ein optionaler Parameter für gespeicherte Prozeduren, und NULL kann angegeben werden, wenn er nicht erforderlich ist. Dieser Parameter muss für SQL-Anweisungen angegeben werden, die keine Prozeduraufrufe sind.

DataPtr dient auch als eindeutiger Wert, anhand dessen die Anwendung den betreffenden Tabellenwertparameter bei Verwendung einer variablen Zeilenbindung identifizieren kann.

StringLengthPtr

SQL_DESC_OCTET_LENGTH_PTR

SQL_DESC_OCTET_LENGTH_PTR

Bei einem Tabellenwertparameter ist dies die Anzahl der zu übertragenden Zeilen oder SQL_DATA_AT_EXEC. Dies ist ein Zeiger auf einen Wert, der die Anzahl von Zeilen enthält, die mit SQLExecDirect übertragen werden sollen.

IndicatorPtr

SQL_DESC_INDICATOR_PTR

SQL_DESC_INDICATOR_PTR

Weitere Informationen zu Tabellenwertparametern finden Sie unter Tabellenwertparameter (ODBC).

SQLSetDescRec-Unterstützung für erweiterte Features für Datum und Uhrzeit

Die für Datums-/Uhrzeittypen zulässigen Werte lauten wie folgt:

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

Weitere Informationen finden Sie unter Datums-/Uhrzeitverbesserungen (ODBC).

SQLSetDescRec-Unterstützung für große CLR-UDTs

SQLSetDescRec unterstützt große benutzerdefinierte CLR-Typen (UDTs). Weitere Informationen finden Sie unter Große benutzerdefinierte CLR-Typen (ODBC).

Siehe auch

Konzepte

Andere Ressourcen