Status-Eigenschaft (ADO-Feld)

Gibt den Status eines Field-Objekts an

Rückgabewert

Gibt einen FieldStatusEnum-Wert zurück. Der Standardwert lautet adFieldOK.

Bemerkungen

Record Field Status

Änderungen am Wert eines Field-Objekts in der „Fields“-Sammlung eines Record-Objekts werden zwischengespeichert, bis die Update-Methode des Objekts aufgerufen wird. Wenn die Änderung des Feldwerts an diesem Punkt zu einem Fehler geführt hat, löst OLE DB den Fehler DB_E_ERRORSOCCURRED (2147749409) aus. Die „Status“-Eigenschaft eines der Field-Objekte in der Fields-Sammlung, die den Fehler verursacht hat, enthält einen Wert aus FieldStatusEnum, der die Ursache des Problems beschreibt.

Um die Leistung zu verbessern, werden Ergänzungen und Löschungen der Fields-Sammlungen des Record-Objekts zwischengespeichert, bis die Update-Methode aufgerufen wird. Dann werden die Änderungen in einem batchoptimistischen Update vorgenommen. Wenn die Update-Methode nicht aufgerufen wird, wird der Server nicht aktualisiert. Wenn bei Updates Fehler auftreten, wird ein OLE DB-Anbieterfehler (DB_E_ERRORSOCCURRED) zurückgegeben, und die Status-Eigenschaft gibt die kombinierten Werte des Vorgangs- und Fehlerstatuscodes an. Beispielsweise adFieldPendingInsert ODER adFieldPermissionDenied. Die Status-Eigenschaft für jedes Field kann verwendet werden, um festzustellen, warum das Field nicht hinzugefügt, geändert oder gelöscht wurde.

Viele Arten von Problemen beim Hinzufügen, Ändern oder Löschen eines Field werden über die Status-Eigenschaft gemeldet. Wenn Benutzer*innen beispielsweise ein Field löschen, wird es zum Löschen aus der Fields-Sammlung markiert. Wenn das nachfolgende Update einen Fehler zurückgibt, da Benutzer*innen versucht haben, ein Field zu löschen, für das sie keine Berechtigung haben, verfügt das Feld über den StatusadFieldPermissionDenied ODER adFieldPendingDelete. Das Aufrufen der CancelUpdate-Methode stellt die ursprünglichen Werte wieder her und legt Status auf adFieldOK fest.

Ebenso kann die Update-Methode einen Fehler zurückgeben, da ein neues Field hinzugefügt wurde und einen ungeeigneten Wert erhalten hat. In diesem Fall befindet sich das neue Field in der Fields-Sammlung und verfügt über den Status adFieldPendingInsert und je nach Anbieter eventuell über adFieldCantCreate. Sie können einen geeigneten Wert für das neue Field angeben und Update nochmals aufrufen.

Recordset Field Status

Änderungen am Wert eines Field-Objekts in der „Fields“-Sammlung eines Recordset werden zwischengespeichert, bis die Update-Methode des Objekts aufgerufen wird. Wenn die Änderung des Feldwerts an diesem Punkt zu einem Fehler geführt hat, löst OLE DB den Fehler DB_E_ERRORSOCCURRED (2147749409) aus. Die „Status“-Eigenschaft eines der Field-Objekte in der Fields-Sammlung, die den Fehler verursacht hat, enthält einen Wert aus FieldStatusEnum, der die Ursache des Problems beschreibt.

Gilt für

Field-Objekt

Weitere Informationen

Status-Eigenschaft – Beispiel (Field) (VB)
Status-Eigenschaft – Beispiel (VC++)