if ADOExceSql.Fields[0].OldValue = ADOExceSql.Fields[0].NewValue then //没有修改
应该没有直接的方法、属性判断吧!不过你可以试试用OldValue 、NewValue应该可以判断 if ADOQuery1.FieldByName('aa').OldValue = ADOQuery1.FieldByName('aa').NewValue then //则此字段没有修改! 这样也太麻烦!请楼主试试!
原来zsjzwj(北极熊) 兄弟来的这么快,早知道就不进来了!进来时没看到你在!
to: zsjzwj(北极熊) 呵呵!不好意思!如果上面的代码楼主调试通过,请楼主把分全部给 zsjzwj(北极熊) 兄弟, 在此感谢!
Var I:Integer; Begin for I:= 0 to ADOQuery2.FieldCount - 1 do begin if ADOQuery2.Fields[I].NewValue <> ADOQuery2.Fields[I].OldValue then ShowMessage('字段:'+ADOQuery2.Fields[I].FieldName+' 发生了改变。'); end;
//没有修改
if ADOQuery1.FieldByName('aa').OldValue =
ADOQuery1.FieldByName('aa').NewValue then
//则此字段没有修改!
这样也太麻烦!请楼主试试!
呵呵!不好意思!如果上面的代码楼主调试通过,请楼主把分全部给 zsjzwj(北极熊) 兄弟,
在此感谢!
I:Integer;
Begin
for I:= 0 to ADOQuery2.FieldCount - 1 do
begin
if ADOQuery2.Fields[I].NewValue <> ADOQuery2.Fields[I].OldValue then
ShowMessage('字段:'+ADOQuery2.Fields[I].FieldName+' 发生了改变。');
end;
http://community.csdn.net/Expert/topic/4229/4229487.xml?temp=.5441248
或者就用脱离数据库的组件,比如CxGrid,比较数据库内容与界面上内容的差异。