FireDAC.Comp.DataSet.TFDDataSet.ApplyUpdates

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

function ApplyUpdates(AMaxErrors: Integer = -1): Integer;

C++

int __fastcall ApplyUpdates(int AMaxErrors = 0xffffffff);

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
function public
FireDAC.Comp.DataSet.pas
FireDAC.Comp.DataSet.hpp
FireDAC.Comp.DataSet TFDDataSet


Beschreibung

Trägt Änderungen für alle Datensätze in dem Änderungsprotokoll der Datenmenge in die Datenbank ein.

Mit ApplyUpdates können Sie Änderungen für alle Datensätze in dem Änderungsjournal der Datenmenge in die Datenbank eintragen.  Diese Methode ist nützlich, wenn CachedUpdates den Wert True hat. Durch den Aufruf von ApplyUpdates werden die folgenden Schritte ausgeführt:

AMaxErrors gibt die maximale Anzahl von Fehlern an, die FireDAC vor dem vorzeitigen Abbruch der Aktualisierung zulassen soll. Setzen Sie AMaxErrors auf –1, um anzugeben, dass es keine Beschränkung der Fehleranzahl gibt, oder auf 0, um anzugeben, dass kein Fehler zulässig ist.

ApplyUpdates gibt die Anzahl der gefundenen Fehler zurück. Auf Basis dieses Rückgabewerts und des erfolgreichen Setzens von AMaxErrors werden eingetragene Aktualisierungen aus dem zentralisierten Änderungsprotokoll entfernt. Wenn der Aktualisierungsprozess vor dem Eintragen aller Aktualisierungen abgebrochen wird, verbleiben die Aktualisierungen, die nicht eingetragen wurden, in dem Änderungsprotokoll. 

ApplyUpdates löst keine Exception aus. In der Anwendung sollten stattdessen fehlerhafte Datensätze mit der Funktion Reconcile und der Ereignisbehandlungsroutine für OnReconcileError oder den Eigenschaften FilterChanges und RowError überprüft werden. Weitere Einzelheiten finden Sie im Abschnitt "Überprüfen von Fehlern" unter Zwischenspeichern von Aktualisierungen

Alle Änderungen werden in der Reihenfolge der Datenmengenänderungen eingetragen. Die erste Änderung (Einfügen/Aktualisieren/Löschen) wird zuerst eingetragen, während die letzte Änderung zuletzt eingetragen wird.

Beispiel

procedure TForm1.btnApplyClick(ASender: TObject);
begin
  if FDStoredProc1.UpdatesPending then
    FDStoredProc1.ApplyUpdates;
end;

Siehe auch

Beispiele