Я пытаюсь использовать событие ReconcileError, чтобы позволить пользователю исправить данные после ошибки обновления, которая произошла в определенной записи среди других.
Пример:
У меня есть набор данных с одним полем и 3 записями, это поле имеет уникальное ограничение для базы данных, затем я изменяю одно значение на конфликт, когда оно достигает базы данных, затем я вызываю ApplyUpdates для набора данных.
Это вызовет ошибку (нарушение уникального ограничения) в поставщике и прервет процесс applyupdates, вернув raAbort в переменную Action переменной ReconcileError.
В методе ReconcileError, который я попытался использовать:
Action := HandleReconcileError(aDataSet, UpdateKind, E);
** РЕДАКТИРОВАТЬ **
После отладки и выгрузки записей DataSet, которые были возвращены с сервера, я заметил, что в этом наборе данных есть 2 записи, первая - Старая запись, а вторая - все изменения, которые я внес в первую запись.
Я немного запутался, всегда ли я получу этот DataSet с двумя записями? Я думал, что у него должна быть только одна запись со старыми / новыми значениями.
Спасибо.