起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: xhong

【结】TDeltaDataSet是不是有Bug?

[复制链接]
发表于 2010-2-5 16:04:39 | 显示全部楼层
我也是,
你先回答一下我29楼,是一条记录的四个字段的值还是四条记录。
要不你配上图加以说明一下吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-2-5 16:34:02 | 显示全部楼层
一条记录4个字段
================================
原始记录:     1      2        null     4,现在比如我修改2为22,并清空4
修改后记录:   null   22     null      null
是这样吗?那通过第二条记录怎么知道第四个字段是清空为null,而不是本次没修改而null的呢
回复 支持 反对

使用道具 举报

发表于 2010-2-5 17:11:25 | 显示全部楼层
可以通过,NewValue和oldValue,来区分,如果相等,那就是不是修改的
Business.System.Variants.VarToStr(FDelta2.Fields.newValue)
Business.System.Variants.VarToStr(FDelta2.Fields.oldValue)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-2-8 09:12:38 | 显示全部楼层
Post前可以,但是Post后ApplyUpdates前似乎不行,你可以试试
回复 支持 反对

使用道具 举报

发表于 2010-2-8 10:02:58 | 显示全部楼层
我试过,你用的是数据集的,还是TDelta的,要用TDelta的

    TUpdateKind.ukModify:
    begin
      Memo1.Lines.Add(FDelta2.Fields[0].AsString);
      FDelta2.NextStatus;
      Memo1.Lines.Add(FDelta2.Fields[0].AsString+ 'newvalue-'+Business.System.Variants.VarToStr(FDelta2.Fields[0].NewValue)+ 'oldvalue-'+Business.System.Variants.VarToStr(FDelta2.Fields[0].OldValue));
    end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-2-8 15:24:41 | 显示全部楼层
为什么要用Delta的呢?
回复 支持 反对

使用道具 举报

发表于 2010-2-8 15:25:39 | 显示全部楼层
呵呵,要实现你的需求,要不post后,找不到原始值了。
回复 支持 反对

使用道具 举报

发表于 2010-2-11 10:01:54 | 显示全部楼层
楼主反馈可以结了
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-11 15:29 , Processed in 0.043825 second(s), 14 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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