如何判断一条记录什么字段被修改了 查询出来数据,在数据集编辑状态下,如何判断一条记录被修改了,哪些字段被修改了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可用adoquery的Delta屬性eg:ClientDataSet1.Delta...PS:POST前是準確的 ADOQuery1.Fields[0].NewValue ADOQuery1.Fields[0].OldValue ADOQuery1.Fields[0].CurValue这三个值,你自己看看就知道了 wxieyang,有没有更好的办法。kye_jufei,delta属性adoquery没有的啊 ClientDataSet才有Delta,ado没有你先用那三个变量比较的方式处理下,仙实现了功能再研究更好的办法。呵呵 另外,你可以通过每条记录的 RecordStatus是否包含rsModified(rsModified in RecordStatus)来判断当前记录是否被更改了。其实这已经很简单了,两层循环就能把所有被修改的记录以及修改过的字段都找到 刚刚看了看ADO的代码,好像通过判断(ADOQuery1.Recordset.Fields[i].Attributes and (adFldUpdatable + adFldUnknownUpdatable)) <> 0来确定当前记录的当前字段释放被改写了。这个我没有测试过,你可以自己试试看上面的表达式为True,则表示当前记录的当前字段被修改了,结合着ADOQuery1.RecordStatus,应该就是最简单的判断了吧 delphi7如何将excel宏级别设置为低级? 在TQuery中增加非字符类字段? 关于webbrowser的两个问题! 时间的滞后性带来的问题,请问各位有什么好的方法? 请教一些能影响软件速度的函数 luoweicaisd(笑三少)请进来拿分,谢谢你的dll的demo。 Tbitmap的canvas属性是不是线程安全的? fastreport2.52下保存事件无法将frf保存到数据库中 如何控制子窗口的位置 不防一看 cmd osql utf8 急......afxwin.inl assertion error,delphi调用C++含窗体的dll出错
eg:
ClientDataSet1.Delta...PS:POST前是準確的
ADOQuery1.Fields[0].OldValue
ADOQuery1.Fields[0].CurValue这三个值,你自己看看就知道了
kye_jufei,delta属性adoquery没有的啊
你先用那三个变量比较的方式处理下,仙实现了功能再研究更好的办法。呵呵
其实这已经很简单了,两层循环就能把所有被修改的记录以及修改过的字段都找到
(ADOQuery1.Recordset.Fields[i].Attributes and (adFldUpdatable + adFldUnknownUpdatable)) <> 0
来确定当前记录的当前字段释放被改写了。
这个我没有测试过,你可以自己试试看
上面的表达式为True,则表示当前记录的当前字段被修改了,结合着ADOQuery1.RecordStatus,应该就是最简单的判断了吧