起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 344|回复: 6

【搞定】[请求]如何判断数据集某个字段是否改变**

[复制链接]
发表于 2007-4-23 09:40:48 | 显示全部楼层 |阅读模式
如何判断数据集某个字段是否改变?
比如,我有一个数据集(有很多个字段),其中某个字段改变时,我希望做一些其他的操作,但如果它没有改变,则不作此操作。
我该如何判断它有没有改变呢?
回复

使用道具 举报

发表于 2007-4-23 10:28:06 | 显示全部楼层
你可以用DataSetBroker1.DataSet.FieldByName('aa').oldValue和DataSetBroker1.DataSet.FieldByName('aa').Value比较来判断
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-23 11:02:56 | 显示全部楼层
呵呵
这么辛苦?
字段没有类似modified的属性吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-24 17:09:43 | 显示全部楼层
我使用了比较的方法
如下:

if (FieldByName ('BDZGUID').OldValue <> FieldByName ('BDZGUID').Value ) then
    begin
      TZYJ_GYCTHS.showSysMsg ('数据改变');
    end;
   
但是,不管我有没有改变数据,都会触发
是怎么回事呢?
回复 支持 反对

使用道具 举报

发表于 2007-4-25 09:46:29 | 显示全部楼层
关键看你比较的时机了
1  如果是在数据集POST之前,可以用字段的OldValue 和 NewValue 来判断(注意要转换成相应的类型来计较,比如VarToStr以后再比较)
2  如果是数据集POST之后,那么就不能用OldValue 和 NewValue 来判断了,可以用DeltaDataSet来判断。对于修改的字段,在DeltaDataSet中有一条记录,记录下来记录的原值,然后在下一条记录上记录被修改的值,如果没有修改,则为空
回复 支持 反对

使用道具 举报

发表于 2007-5-8 11:08:12 | 显示全部楼层
楼主,还有问题吗?
没有就结贴了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-8 16:10:23 | 显示全部楼层
呵呵
不好意思
使用了另外的办法,不需要比较了

请结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-9 02:30 , Processed in 0.042933 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表