你可以在中间层的
procedure TSDM.Provider1BeforeUpdateRecord(Sender: TObject;
SourceDS: TDataSet; DeltaDS: TCustomClientDataSet;
UpdateKind: TUpdateKind; var Applied: Boolean);
begin
if (uppercase(SourceDS.name)='M_adodataset') and (updatekind=ukupdate) then begin
with adodataset5 do begin
parameters[1].value:=DeltaDS.fieldbyname('...').newvalue;
parameters[2].value:=DeltaDS.fieldbyname('...').newvalue;
ExecProc;
end;
Applied:=true;
end else
if (uppercase(SourceDS.name)='d_adodataset') and (updatekind=ukupdate) then begin
......
Applied:=true;
end;