Status-Eigenschaft (ADO-Feld)
Gibt den Status eines Field -Objekts an.
Rückgabewert
Gibt einen FieldStatusEnum Wert zurück. Der Standardwert ist adFieldOK.
Bemerkungen
Datensatzfeldstatus
Änderungen am Wert eines Field-Objekts in der Fields-Auflistung eines Record-Objekts werden zwischengespeichert, bis die Update-Methode des Objekts aufgerufen wird. Wenn die Änderung des Feldwerts zu diesem Zeitpunkt einen Fehler verursacht hat, löst OLE DB den Fehler DB_E_ERRORSOCCURRED (2147749409) aus. Die Status-Eigenschaft eines der Field-Objekte in der Fields-Auflistung, die den Fehler verursacht hat, enthält einen Wert aus der FieldStatusEnum beschreiben die Ursache des Problems.
Um die Leistung zu verbessern, werden Ergänzungen und Löschungen der Fields Auflistungen des Record-Objekts zwischengespeichert, bis die Update-Methode aufgerufen wird, und dann werden die Änderungen in einer optimistischen Batchaktualisierung vorgenommen. Wenn die Update-Methode nicht aufgerufen wird, wird der Server nicht aktualisiert. Wenn Aktualisierungen fehlschlagen, wird ein OLE DB-Anbieterfehler (DB_E_ERRORSOCCURRED) zurückgegeben, und die Status-Eigenschaft gibt die kombinierten Werte des Vorgangs- und Fehlerstatuscodes an. Beispiel: adFieldPendingInsert OR adFieldPermissionDenied. Die Status--Eigenschaft für jedes Field- kann verwendet werden, um zu bestimmen, warum das Feld- nicht hinzugefügt, geändert oder gelöscht wurde.
Viele Arten von Problemen beim Hinzufügen, Ändern oder Löschen eines Feld- werden über die eigenschaft Status gemeldet. Wenn der Benutzer beispielsweise ein Fieldlöscht, wird er für das Löschen aus der Fields-Auflistung markiert. Wenn die nachfolgende Update einen Fehler zurückgibt, weil der Benutzer versucht hat, ein Field- zu löschen, für das er keine Berechtigung besitzt, verfügt das Feld- über einen StatusadFieldPermissionDenied OR adFieldPendingDelete. Durch Aufrufen der CancelUpdate--Methode werden originale Werte wiederhergestellt und die Status- auf adFieldOK-festgelegt.
Ebenso gibt die Update-Methode möglicherweise einen Fehler zurück, da ein neues Feld- hinzugefügt und einem unangemessenen Wert gegeben wurde. In diesem Fall befindet sich das neue Field in der Fields Collection und verfügt über einen Status adFieldPendingInsert und vielleicht adFieldCantCreate (je nach Anbieter). Sie können einen geeigneten Wert für das neue Field angeben und Update erneut aufrufen.
Recordset-Feldstatus
Änderungen am Wert eines Field-Objekts in der Fields-Auflistung eines Recordset- werden zwischengespeichert, bis die Update-Methode des Objekts aufgerufen wird. Wenn die Änderung des Feldwerts zu diesem Zeitpunkt einen Fehler verursacht hat, löst OLE DB den Fehler DB_E_ERRORSOCCURRED (2147749409) aus. Die Status-Eigenschaft eines der Field-Objekte in der Fields-Auflistung, die den Fehler verursacht hat, enthält einen Wert aus der FieldStatusEnum beschreiben die Ursache des Problems.
Gilt für
Siehe auch
Status-Eigenschaft (Beispiel) (Field) (VB)
Status-Eigenschaft (VC++-Beispiel)