ADO Status-Attribut

Definition und Verwendung

Das Status-Attribut kann einen FieldStatusEnum Wert, der den Zustand des Field-Objekts anzeigt. Standardwert ist adFieldOK.

Falls das Update fehlschlägt, wird ein Fehler zurückgegeben und das Status-Attribut gibt den kombinierten Wert und den Fehlerstatuscode der Operation an. Das Status-Attribut eines jeden Fields kann verwendet werden, um den Grund zu bestimmen, warum das Field nicht hinzugefügt, geändert oder gelöscht wurde.

Fragen beim Hinzufügen, Ändern oder Löschen eines Felds werden über dieses Attribut gemeldet. Zum Beispiel, wenn ein Benutzer ein Feld löscht, wird es im Fields-Kollektiv als gelöscht markiert. Wenn ein Update-Aufruf aufgrund des Versuchs, ein Feld zu löschen, das der Benutzer nicht löschen kann, fehlschlägt, wird der Status des Felds adFieldPermissionDenied oder adFieldPendingDelete sein.

Syntax

objfield.Status

Instanz

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
set rs = Server.CreateObject("ADODB.Recordset")
rs.open "Select * from orders", conn
response.write(rs.Fields(0).Status)
rs.Close
conn.close
%>

FieldStatusEnum-Wert

Konstante Wert Beschreibung
adFieldOK 0 Standard. Weist darauf hin, dass das Feld erfolgreich hinzugefügt oder gelöscht wurde.
adFieldCantConvertValue 2 Weist darauf hin, dass das Feld nicht ohne Datenverlust abgerufen oder gespeichert werden kann.
adFieldIsNull 3 Weist darauf hin, dass der Anbieter einen Null-Wert zurückgegeben hat.
adFieldTruncated 4 Weist darauf hin, dass bei der Lektüre von Daten aus der Datenquelle variable Daten abgeschnitten wurden.
adFieldSignMismatch 5 Weist darauf hin, dass der von dem Anbieter zurückgegebene Datenwert ein signiertes Wert ist, während der Datentyp des ADO-Feldwertes nicht signiert ist.
adFieldDataOverflow 6 Weist darauf hin, dass die von dem Anbieter zurückgegebenen Daten den Datentyp des Feldes überschreiten.
adFieldCantCreate 7 Weist darauf hin, dass das Hinzufügen dieses Feldes nicht möglich ist, da der Anbieter die Beschränkungen (wie die zulässige Anzahl der Felder) überschritten hat.
adFieldUnavailable 8 Beim Lesen von Daten aus der Datenquelle kann der Anbieter den Wert nicht bestimmen. Zum Beispiel wurde eine Zeile gerade erstellt, und der Standardwert der Spalte kann nicht verwendet werden, da noch kein neuer Wert angegeben wurde.
adFieldPermissionDenied 9 Zeigt an, dass das Feld als schreibgeschützt definiert ist und daher nicht geändert werden kann.
adFieldIntegrityViolation 10 Zeigt an, dass das Feld als berechnetes oder abgeleitetes Element definiert ist und daher nicht geändert werden kann.
adFieldSchemaViolation 11 Zeigt an, dass der Wert die Datenquellmodellbeschränkungen des Felds verletzt.
adFieldBadStatus 12 Zeigt an, dass ein ungültiger Statuswert von ADO an den OLE-DB-Anbieter gesendet wurde. Der Grund könnte ein OLE-DB 1.0 oder 1.1-Anbieter sein oder eine unangemessene Kombination von Value und Status.
adFieldDefault 13 Zeigt an, dass der Standardwert des Felds bei der Einstellung der Daten verwendet wurde.
adFieldIgnore 15 Zeigt an, dass dieses Feld bei der Einstellung der Datenwerte im Quellcode übersprungen wird. Der Anbieter hat keinen Wert eingestellt.
adFieldDoesNotExist 16 Zeigt an, dass das angegebene Feld nicht existiert.
adFieldInvalidURL 17 Zeigt an, dass die Datenquell-URL ungültige Zeichen enthält.
adFieldResourceLocked 18 Zeigt an, dass der Anbieter die Operation nicht durchführen kann, da der Datenquellcode von einer oder mehreren anderen Anwendungen oder Prozessen gesperrt ist.
adFieldResourceExists 19 Zeigt an, dass der Anbieter die Operation nicht durchführen kann, da das Objekt bereits im Ziel-URL existiert und nicht ersetzt werden kann.
adFieldCannotComplete 20 Zeigt an, dass der Server, der von der URL der Quelle angegeben wird, die Operation nicht durchführen kann.
adFieldVolumeNotFound 21 Zeigt an, dass der Anbieter den von der URL angegebenen Speicherort nicht lokalisieren kann.
adFieldOutOfSpace 22 Zeigt an, dass der Anbieter nicht genügend Speicherplatz hat, um die Verschiebungs- oder Kopieroperation durchzuführen.
adFieldCannotDeleteSource 23 Zeigt an, dass bei der Verschiebungsoperation der Baum oder der Unterbau an eine neue Position verschoben wird, aber die Quelle nicht gelöscht werden kann.
adFieldReadOnly 24 Zeigt an, dass das Feld im Datenquellcode als schreibgeschützt definiert ist.
adFieldResourceOutOfScope 25 Zeigt an, dass die Quelle oder das Ziel-URL außerhalb des aktuellen Datensatzbereichs liegt.
adFieldAlreadyExists 26 Zeigt an, dass das angegebene Feld bereits existiert.
adFieldPendingInsert 0x10000 Die Append-Operation erfordert die Einstellung des Status. Das Feld wird als hinzugefügt markiert, das nach dem Aufruf der Update-Methode in die Fields-Kollektion aufgenommen wird.
adFieldPendingDelete 0x20000 Zeigt an, dass die Delete-Operation den Bedarf der Einstellung des Status verursachte. Das Feld wird markiert, um nach dem Aufruf der Update-Methode aus der Fields-Kollektion gelöscht zu werden.
adFieldPendingChange 0x40000 Zeigt an, dass das Feld nach dem Löschen wieder hinzugefügt wurde (möglicherweise mit einem anderen Datentyp) oder dass der Wert eines Felds mit dem Status adFieldOK geändert wurde. Der endgültige Format des Felds wird nach dem Aufruf der Update-Methode in der Fields-Kollektion geändert.
adFieldPendingUnknown 0x80000 Zeigt an, dass der Anbieter nicht bestimmen kann, welche Operation zu dem Bedarf der Einstellung des Status führte.
adFieldPendingUnknownDelete 0x100000 Zeigt an, dass der Anbieter nicht bestimmen kann, welche Operation zu dem Bedarf der Einstellung des Feldstatus führte, und dass das Feld nach dem Aufruf der Update-Methode aus der Fields-Kollektion entfernt wird.