如何判断数据是否被修改

说明:当用户浏览数据时无意或有意的修改了数据,所以当关闭数据浏览时,需要提示用户是否对所做的修改做保存,一般可以在每个可以被修改的控件中的INTERACTIVECHANGE事件中写代码,当引发这个事件时,将某个变量(如isEdit)设为逻辑.T.,那么当退出时可以通过判断该变量的值来提示操作者是否要保存。因为如果用户没有做修改而再提示的话显得有点多余了,所以这个提示会显得操作更友好。
但是如果对每一个可以编辑的控件的INTERACTIVECHANGE事件都写入代码,显得有点麻烦,即使作为类考虑也不是很好的办法,所以下面的方法供大家参考。

注意:使用此法,你必须用缓冲方式打开表才行。

isNeedToSave=.f.
for gnCount = 1 TO FCOUNT( ) && 循环次数等于字段的数目
if GETFLDSTATE(FIELD(gnCount))>=2 && 显示各字段,具体看GETFLDSTATE()函数
isNeedToSave=.t.
exit && 当有某个字段被修改后,即退出判断
endif
endfor

if isNeedToSave
ans=messagebox(要保存所做的修改吗?,3+32,询问)
do case
case ans=6 && 选择是
=tableupdate(.t.)
case ans=7 && 选择否
=tablerevert(.t.)
case ans=2 && 选择取消
endcase
endif

建议将以上代码写在表单的QUERYUNLOAD事件中。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值