Freigeben über


SQLDescribeCol

Bei ausgeführten Anweisungen muss der SQL Server Native Client ODBC-Treiber keine Serverabfrage durchführen, um die Anzahl der Spalten in einem Resultset zu beschreiben. In diesem Fall führt SQLDescribeCol keinen Server-Roundtrip herbei. Wie bei SQLColAttribute und SQLNumResultCols wird beim Aufrufen von SQLDescribeCol für vorbereitete, aber noch nicht ausgeführte Anweisungen ein Server-Roundtrip erstellt.

Wenn eine Transact-SQL-Anweisung oder ein Anweisungsstapel mehrere Resultsets für Zeilen zurückgibt, kann eine Spalte, auf die mit einer Ordnungszahl verwiesen wird, ihren Ursprung in einer separaten Tabelle haben oder auf eine vollständig andere Spalte im Resultset verweisen. SQLDescribeCol sollte für jeden Set aufgerufen werden. Wenn sich das Resultset ändert, sollte die Anwendung Datenwerte vor dem Abrufen von Zeilenergebnissen erneut binden. Weitere Informationen zum Arbeiten mit mehreren Resultsetergebnissen finden Sie unter SQLMoreResults.

Der SQL Server Native Client ODBC-Treiber verwendet die SET FMTONLY-Anweisung, um den Serveraufwand zu verringern, wenn SQLDescribeCol für vorbereitete, aber noch nicht ausgeführte Anweisungen aufgerufen wird. Spaltenattribute werden nur für das erste Resultset gemeldet, wenn durch einen vorbereiteten Stapel von SQL-Anweisungen mehrere Resultsets erzeugt werden.

Für Datentypen mit umfangreichen Werten ist der in DataTypePtr zurückgegebene Wert SQL_VARCHAR, SQL_VARBINARY oder SQL_NVARCHAR. Ein Wert von SQL_SS_LENGTH_UNLIMITED in ColumnSizePtr gibt an, dass die Größe "unbegrenzt" ist.

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

Die für Datums-/Uhrzeittypen zurückgegebenen Werte lauten wie folgt:

DataTypePtr

ColumnSizePtr

DecimalDigitsPtr

datetime

SQL_TYPE_TIMESTAMP

23

3

smalldatetime

SQL_TYPE_TIMESTAMP

16

0

date

SQL_TYPE_DATE

10

0

time

SQL_SS_TIME2

8, 10..16

0..7

datetime2

SQL_TYPE_TIMESTAMP

19, 21..27

0..7

datetimeoffset

SQL_SS_TIMESTAMPOFFSET

26, 28..34

0..7

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

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

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

Siehe auch

Konzepte

Andere Ressourcen