DELPHI 怎么样比较 ADOQUERY 修改字段前后的值
请问一个问题:比如有一个表有20个字段,我用ADOQuery修改了其中的某一条数据,现在我想比较这条数据修改了哪些字段,把修改的字段修改之前的值和修改之后的值列出来,怎么...
请问一个问题:比如有一个表有20个字段,我用 ADOQuery 修改了其中的某一条数据,现在我想比较这条数据修改了哪些字段,把修改的字段修改之前的值 和修改之后的值列出来,怎么做啊?我只是修改其中的某些字段,也许是一个,也许是5个,也有肯能是除主键之外的所有字段。我现在是想把修改的那些字段 原来的值 和 现在的值 列出来,如果没有修改的话,那就不用列出来。
展开
2个回答
展开全部
一个办法是修改前做个copy,修改后和copy比较就可以得到所有修改的数据
另外一个是
ADOQry.Filtered:=false;
ADOQry.Filtered:=true;
ADOQry.FilterGroup:=fgPendingRecords ;
FilterGroup参数解释如下:
FgUnassigned 指定不使用任何的过滤器来过滤数据
fgNone 移去任何的过滤器,让所有的数据都显示出来。这也可以通过设定ADO的Filtered属性值为False来达到
fgPendingRecords 只显示被修改过但尚未更新回数据源的数据或被修改过但尚未被取消更新的数据
fgAffectedRecords只显示受到上一次更新回数据源影响的数据
fgFetchedRecords 只显示在目前更新缓存之中的数据。这些数据是在上一次
从数据源取得之后所有储存在客户端的数据
fgPredicate 只显示刚被删除的数据
fgConflictingRecords 只显示被修改过但当更新回数据源时发生错误的数据
另外一个是
ADOQry.Filtered:=false;
ADOQry.Filtered:=true;
ADOQry.FilterGroup:=fgPendingRecords ;
FilterGroup参数解释如下:
FgUnassigned 指定不使用任何的过滤器来过滤数据
fgNone 移去任何的过滤器,让所有的数据都显示出来。这也可以通过设定ADO的Filtered属性值为False来达到
fgPendingRecords 只显示被修改过但尚未更新回数据源的数据或被修改过但尚未被取消更新的数据
fgAffectedRecords只显示受到上一次更新回数据源影响的数据
fgFetchedRecords 只显示在目前更新缓存之中的数据。这些数据是在上一次
从数据源取得之后所有储存在客户端的数据
fgPredicate 只显示刚被删除的数据
fgConflictingRecords 只显示被修改过但当更新回数据源时发生错误的数据
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询