Datasnap.Provider.TResolverErrorEvent

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

TResolverErrorEvent = procedure(Sender: TObject; DataSet: TCustomClientDataSet;
E: EUpdateError; UpdateKind: TUpdateKind; var Response: TResolverResponse) of object;

C++

typedef void __fastcall (__closure *TResolverErrorEvent)(System::TObject* Sender, Datasnap::Dbclient::TCustomClientDataSet* DataSet, Data::Db::EUpdateError* E, Data::Db::TUpdateKind UpdateKind, TResolverResponse &Response);

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
type
typedef
public
Datasnap.Provider.pas
Datasnap.Provider.hpp
Datasnap.Provider Datasnap.Provider


Beschreibung

Repräsentiert den Prozedurentyp für Ereignisse, die ausgelöst werden, wenn der Provider einen Datensatz nicht aktualisieren kann.

Ein Variable vom Typ TResolverErrorEvent referenziert ein Ereignis, das ausgelöst wird, wenn der Provider einen Datensatz wegen einer Fehlerbedingung nicht aktualisieren kann.

Sender ist der Provider, der aktuell Aktualisierungen einträgt.

DataSet ist eine temporäre Client-Datenmenge für den Zugriff auf Daten während der Aktualisierung. Mit den Eigenschaften OldValue, NewValue und CurValue der Feldkomponenten dieser Datenmenge können Sie die geänderten Felder anzeigen und die Ursache des Problems feststellen.

Warnung: In der Ereignisbehandlungsroutine darf keine Methode aufgerufen werden, die den aktuellen Datensatz wechselt.

E ist ein EUpdateError-Objekt, aus dem die Fehlerbehandlungsroutine eine Fehlermeldung und die tatsächliche Ursache der Fehlerbedingung extrahieren kann. Anhand dieser Informationen kann die Reaktion auf die Fehlerbedingung festgelegt werden.

UpdateKind beschreibt den Typ der Aktualisierung, die den Fehler verursacht hat. In diesem Parameter kann die Bearbeitung eines vorhandenen Datensatzes (ukModify), das einfügen eines neuen Datensatzes (ukInsert) oder das Löschen eines vorhandenen Datensatzes (ukDelete) festgelegt werden.

Response gibt an, welche Aktion nach dem Beenden von OnUpdateError durchgeführt werden soll. Beim Eintritt in die Behandlungsroutine wird Response auf Basis des an die ereignisauslösende Funktion ApplyUpdates übergebenen Parameters MaxErrors entweder auf rrAbort oder rrSkip gesetzt. Wenn MaxErrors 0 ist, dann ist Response rrAbort, ansonsten rrSkip. Wenn die Ereignisbehandlungsroutine den Fehler behandeln oder korrigieren kann, sollte sie vor ihrem Ende Response auf rrApply setzen.

Siehe auch