只是为了记录数据变动生成变动日志?
1、如果数据是直接进入数据库,dbgrid 是数据感知控件,UI上编辑的数据,直接会进入记录集,如你的adoquery组件。
2、如果只是为了对照修改前数据和修改后数据,可以先把修改前数据缓存一份,然后遍历
var
bookMark: TBookMark;
begin
bookMark := self.ADOQuery1.GetBookmark;
self.ADOQuery1.DisableControls; //防止UI抖动
self.ADOQuery1.First;
while not self.ADOQuery1.Eof do
begin
//TODO 值对比
ADOQuery1.Next;
end;
self.ADOQuery1.EnableControls;
self.ADOQuery1.GotoBookmark(bookMark);
self.ADOQuery1.FreeBookmark(bookMark);
...