Freigeben über


Deskriptorfelder

Deskriptoren enthalten Kopfzeilen - und Datensatzfelder , die Spalten oder Parameter vollständig beschreiben.

Ein Deskriptor enthält eine einzelne Kopie der folgenden Kopfzeilenfelder. Das Ändern eines Kopfzeilenfelds wirkt sich auf alle Spalten oder Parameter aus.

SQL_DESC_ALLOC_TYPE
SQL_DESC_ARRAY_SIZE
SQL_DESC_ARRAY_STATUS_PTR
SQL_DESC_BIND_OFFSET_PTR

SQL_DESC_BIND_TYPE
SQL_DESC_COUNT
SQL_DESC_ROWS_PROCESSED_PTR

Ein Deskriptor enthält null oder mehr Deskriptoreinträge. Jeder Datensatz beschreibt je nach Beschreibungstyp eine Spalte oder einen Parameter. Wenn eine neue Spalte oder ein neuer Parameter gebunden ist, wird dem Deskriptor ein neuer Datensatz hinzugefügt. Wenn eine Spalte oder ein Parameter ungebunden ist, wird ein Datensatz aus dem Deskriptor entfernt. Jeder Datensatz enthält eine einzelne Kopie der folgenden Felder:

SQL_DESC_AUTO_UNIQUE_VALUE
SQL_DESC_BASE_COLUMN_NAME
SQL_DESC_BASE_TABLE_NAME
SQL_DESC_CASE_SENSITIVE
SQL_DESC_CATALOG_NAME
SQL_DESC_CONCISE_TYPE
SQL_DESC_DATA_PTR
SQL_DESC_DATETIME_INTERVAL_CODE
SQL_DESC_DATETIME_INTERVAL_PRECISION
SQL_DESC_DISPLAY_SIZE
SQL_DESC_FIXED_PREC_SCALE
SQL_DESC_INDICATOR_PTR
SQL_DESC_LABEL
SQL_DESC_LENGTH
SQL_DESC_LITERAL_PREFIX
SQL_DESC_LITERAL_SUFFIX

SQL_DESC_LOCAL_TYPE_NAME
SQL_DESC_NAME
SQL_DESC_NULLABLE
SQL_DESC_OCTET_LENGTH
SQL_DESC_OCTET_LENGTH_PTR
SQL_DESC_PARAMETER_TYPE
SQL_DESC_PRECISION
SQL_DESC_SCALE
SQL_DESC_SCHEMA_NAME
SQL_DESC_SEARCHABLE
SQL_DESC_TABLE_NAME
SQL_DESC_TYPE
SQL_DESC_TYPE_NAME
SQL_DESC_UNNAMED
SQL_DESC_UNSIGNED
SQL_DESC_UPDATABLE

Viele Anweisungsattribute entsprechen dem Kopfzeilenfeld eines Deskriptors. Wenn Sie diese Attribute über einen Aufruf von SQLSetStmtAttr festlegen und das entsprechende Deskriptorheaderfeld durch Aufrufen von SQLSetDescField festlegen, hat dies die gleiche Auswirkung. Das gleiche gilt für SQLGetStmtAttr und SQLGetDescField, die beide dieselben Informationen abrufen. Das Aufrufen der Anweisungsfunktionen anstelle der Deskriptorfunktionen hat den Vorteil, dass ein Deskriptorhandle nicht abgerufen werden muss.

Die folgenden Kopfzeilenfelder können durch Festlegen von Anweisungsattributen festgelegt werden:

SQL_DESC_ARRAY_SIZE
SQL_DESC_ARRAY_STATUS_PTR
SQL_DESC_BIND_OFFSET_PTR

SQL_DESC_BIND_TYPE
SQL_DESC_ROWS_PROCESSED_PTR

In diesem Abschnitt werden die folgenden Themen behandelt: