Конференция "Базы" » ClientDataSet [D7, FireBird 1.5]
 
  • VikOss © (20.05.14 18:27) [0]
    Помогите разобраться. Ситуация стандартная, но я что-то не совсем разобрался в принципе работы. Итак, есть почти стандартный код обновления базы :

    if not IBTransaction1.InTransaction then IBTransaction1.StartTransaction;
    err:=ClientDataSet.ApplyUpdates(0);
    if err>0 then
    IBTransaction1.Rollback else
    IBTransaction1.Commit;

    Всё вроде просто, но я добавил стандартный обработчик ошибок :

    procedure TForm1.ClientDataSetReconcileError(
     DataSet: TCustomClientDataSet; E: EReconcileError;
     UpdateKind: TUpdateKind; var Action: TReconcileAction);
    begin
    Action := HandleReconcileError(DataSet, UpdateKind, E);
    end;

    И вот тут запутался. Если вызывается стандартный обработчик и узер выбрал решение, то как быть с Rollback ? Нужно убрать?
  • junglecat (20.05.14 19:26) [1]
    а разве, если узер выбрал решение, err>0 ?
  • VikOss © (20.05.14 21:09) [2]
    Да, OnReconcileError возникает когда  err>0
 
Конференция "Базы" » ClientDataSet [D7, FireBird 1.5]
Есть новые Нет новых   [134427   +34][b:0][p:0]