Freigeben über


Zurückgestellte Felder

Die Werte von verzögerten Feldern werden nicht verwendet, wenn sie festgelegt werden, aber der Treiber speichert die Adressen der Variablen für einen verzögerten Effekt. Für einen Anwendungsparameterdeskriptor verwendet der Treiber den Inhalt der Variablen zum Zeitpunkt des Aufrufs von SQLExecDirect oder SQLExecute. Für einen Anwendungszeilendeskriptor verwendet der Treiber den Inhalt der Variablen zum Zeitpunkt des Abrufs.

Es folgen verzögerte Felder:

  • Die Felder SQL_DESC_DATA_PTR und SQL_DESC_INDICATOR_PTR eines Deskriptordatensatzes.

  • Das SQL_DESC_OCTET_LENGTH_PTR Feld eines Anwendungsdeskriptordatensatzes.

  • Bei einem Multirow-Abruf werden die Felder SQL_DESC_ARRAY_STATUS_PTR und SQL_DESC_ROWS_PROCESSED_PTR einer Beschreibungskopfzeile angezeigt.

Wenn ein Deskriptor zugewiesen wird, weisen die verzögerten Felder jedes Deskriptordatensatzes zunächst einen NULL-Wert auf. Die Bedeutung des Nullwerts lautet wie folgt:

  • Wenn SQL_DESC_ARRAY_STATUS_PTR einen Nullwert aufweist, gibt ein Multirow-Abruf diese Komponente der Diagnoseinformationen pro Zeile nicht zurück.

  • Wenn SQL_DESC_DATA_PTR einen Nullwert aufweist, ist der Datensatz ungebunden.

  • Wenn das feld SQL_DESC_OCTET_LENGTH_PTR eines ARD einen NULL-Wert aufweist, gibt der Treiber keine Längeninformationen für diese Spalte zurück.

  • Wenn das SQL_DESC_OCTET_LENGTH_PTR Feld einer APD einen NULL-Wert aufweist und der Parameter eine Zeichenfolge ist, geht der Treiber davon aus, dass die Zeichenfolge null-beendet ist. Bei dynamischen Ausgabeparametern verhindert ein Nullwert in diesem Feld, dass der Treiber Längeninformationen zurückgibt. (Wenn das feld SQL_DESC_TYPE keinen Zeichenfolgenparameter angibt, wird das feld SQL_DESC_OCTET_LENGTH_PTR ignoriert.)

Die Anwendung darf keine zuordnungs- oder dis Karte Variablen behandeln, die für verzögerte Felder zwischen dem Zeitpunkt verwendet werden, zu dem sie den Feldern zugeordnet werden, und dem Zeitpunkt, zu dem der Treiber sie liest oder schreibt.