-1 Позволяет сообщать о неограниченных ошибках, поэтому каждое обновление в дельтах ClientDataSet будет проверяться.
0 Не допускается никаких ошибок, а это означает, что при попытке обновления после первого сбоя не тратится никаких усилий.
-1 может быть уместным, если у вас есть много несвязанных изменений для перекачки в базу данных. Например, при откачке назад изменений из автономного использования в модели портфеля. В этом типе сценариев обновления могут завершиться неудачно, потому что записи, в среднем, были обновлены другими пользователями, но при одном отказе обновления мало что может сказать о шансах других сбоев обновления. Тогда было бы, вероятно, более удобно, чтобы каждое обновление проверялось и получало отчет о тех, которые не удалось, поэтому они могут быть адресованы пользователем.
0 вероятно лучше подходит в ситуациях, когда достаточно предсказуемо, что если одно обновление не удастся, все или многие другие обновления в дельта также потерпят неудачу. Было бы «безрассудно», чтобы ClientDataSet попробовал другие обновления, когда вероятность их неудачи также высока. Должен признаться, что мне сложно придумать сценарий, в котором это будет так.
Удивительно, как использование (обычно не очень хорошо) использования ApplyUpdates (-1) размножается, поскольку ApplyUpdates (0) обычно намного лучше. –