Datasnap.DBClient.TCustomClientDataSet.ApplyUpdates

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

function ApplyUpdates(MaxErrors: Integer): Integer; virtual;

C++

virtual int __fastcall ApplyUpdates(int MaxErrors);

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
function public
Datasnap.DBClient.pas
Datasnap.DBClient.hpp
Datasnap.DBClient TCustomClientDataSet

Beschreibung

Sendet alle aktualisierten, eingefügten und gelöschten Datensätze der Client-Datenmenge an den Provider, damit die Änderungen in die Datenbank geschrieben werden.

Mit einem Aufruf von ApplyUpdates können Sie alle aktualisierten, eingefügten und gelöschten Datensätze aus der Client-Datenmenge in die Datenbank oder die Quelldatenmenge eintragen. MaxErrors gibt die maximale Anzahl Fehler an, die der Provider tolerieren soll, bevor die Aktualisierungsoperation frühzeitig abgebrochen wird. Wenn Sie die Eigenschaft auf –1 setzen, sind beliebig viele Fehler erlaubt.

ApplyUpdates

1. Sie generiert ein BeforeApplyUpdates-Ereignis. (Dieses Ereignis ist für bestimmte TCustomClientDataSet-Nachkommen nicht als public deklariert.)

Ruft den Provider auf, um die Aktualisierungen in der Eigenschaft Delta zuzuweisen. Die Methode ApplyUpdates empfängt alle Datensätze, die vom Provider zurückgegeben werden, da beim Eintragen in die Datenbank Fehler generiert wurden.

3. Sie generiert ein AfterApplyUpdates-Ereignis. (Dieses Ereignis ist für bestimmte TCustomClientDataSet-Nachkommen nicht als public deklariert.)

4. Die Methode Reconcile der Client-Datenmenge stimmt alle in Schritt 2 zurückgegebenen Datensätze ab.

Warnung:  Bei Memofeldern kann der Provider nicht feststellen, ob eine Aktualisierung zu einem Konflikt mit den Änderungen eines anderen Benutzers führt. Auch der Server erkennt diese Konflikte nicht und meldet keine Fehler.

ApplyUpdates gibt die Anzahl der ermittelten Fehler zurück. Basierend auf diesem Rückgabewert und der Einstellung von MaxErrors werden erfolgreich aktualisierte Datensätze aus dem Änderungsprotokoll der Client-Datenmenge entfernt. Wird die Aktualisierung abgebrochen, bevor alle Aktualisierungen zugewiesen wurden, verbleiben alle nicht zugewiesenen Aktualisierungen im Änderungsprotokoll.

Siehe auch

Codebeispiele