-1 Permet de signaler des erreurs illimitées, ainsi chaque mise à jour du delta de ClientDataSet sera essayée.
0 Permet aucune erreur du tout, ce qui signifie qu'aucun effort n'est fait pour essayer les mises à jour après un premier échec.
-1 peut être approprié si vous avez de nombreuses modifications non liées à effectuer dans la base de données. Par exemple, lorsque vous repoussez les changements de l'utilisation hors ligne dans le modèle de porte-documents. Dans ce type de scénario, les mises à jour peuvent échouer car les enregistrements ont entre-temps été mis à jour par d'autres utilisateurs, mais si une mise à jour échoue, les chances que les autres mises à jour échouent sont minces. Il serait alors probablement plus pratique de laisser chaque mise à jour être essayée et de recevoir un rapport de ceux qui ont échoué afin qu'ils puissent être adressés par l'utilisateur.
0 est probablement mieux adapté dans des situations où il est assez prévisible que si une mise à jour échoue, toutes ou plusieurs des autres mises à jour dans le delta échoueront également. Il serait "imprudent" d'avoir le ClientDataSet essayer les autres mises à jour lorsque la probabilité de leur échec est aussi élevée. Doit admettre cependant que j'ai du mal à imaginer un scénario dans lequel ce serait le cas.
Il est étonnant de voir comment l'utilisation (généralement pas si bonne) de ApplyUpdates (-1) a proliféré, puisque ApplyUpdates (0) est généralement beaucoup mieux. –