-1 Ermöglicht unbegrenzte Fehler gemeldet werden, so dass jedes Update im Delta des ClientDataSet wird versucht werden.
0 Ermöglicht ohne Fehler überhaupt, was bedeutet, dass keine Anstrengung zu versuchen, Updates nach einem ersten Scheitern verschwendet wird.
-1 könnte sinnvoll sein, wenn Sie viele unabhängige Änderungen an der Datenbank durchpumpen. Zum Beispiel beim Zurückpumpen wechselt die Offline-Nutzung in das Aktenkoffermodell. In dieser Art von Szenario können Aktualisierungen fehlschlagen, da die Datensätze inzwischen von anderen Benutzern aktualisiert wurden. Wenn jedoch ein Update fehlschlägt, wird wenig oder gar nichts über die Wahrscheinlichkeit angezeigt, dass die anderen Updates fehlschlagen. Es wäre dann wahrscheinlich bequemer, jedes Update ausprobiert zu bekommen und einen Bericht über die fehlgeschlagenen zu erhalten, damit sie vom Benutzer angesprochen werden können.
0 wahrscheinlich besser geeignet in Situationen, in denen es ziemlich vorhersehbar ist, dass, wenn ein Update fehlschlägt, alle oder viele der anderen Updates im Delta wird auch scheitern. Es wäre "tollkühn", das ClientDataSet die anderen Updates ausprobieren zu lassen, wenn die Wahrscheinlichkeit, dass sie ausfallen, hoch ist. Ich muss zugeben, dass es mir schwer fällt, mir ein Szenario vorzustellen, in dem dies der Fall sein könnte.
Es ist erstaunlich, wie die (in der Regel nicht so gute) Verwendung von ApplyUpdates (-1) proliferiert, da ApplyUpdates (0) meist deutlich besser ist. –