起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 900|回复: 29

【结贴】[请求]为什么克隆数据集总是丢失一条数据啊! 当我选中三天记录的时候 而克隆

[复制链接]
发表于 2009-8-19 11:07:43 | 显示全部楼层 |阅读模式
为什么克隆数据集总是丢失一条数据啊! 当我选中三天记录的时候 而克隆数据集中实际只有两条 当2条时,实际1条!
回复

使用道具 举报

发表于 2009-8-19 11:15:59 | 显示全部楼层
具体怎么做的呢?
有例子吗?发上来看看。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-19 11:20:17 | 显示全部楼层
procedure TSALES_RECORD_AUDIT_BETA_FORMDOC.SpeedButtonDELETEClick(Sender: TObject);
var
   lDataSet:TCloneDataSet;
begin
     lDataSet:=TCloneDataSet.Create(nil);
          try
             lDataSet.CloneCursor(SELF.DataSetBrokerSALES_RECORD_AUDIT_DT.DataSet,false,true,false);
             lDataSet.Filter:='MARK=1';
             lDataSet.Filtered:=true;
             lDataSet.First;
             WHILE NOT lDataSet.Eof DO
             BEGIN
                  lDataSet.Edit;
                  lDataSet.FieldByName('STATUS').AsString:='将删除';
                  lDataSet.Next;
             END;
             SELF.DataSetBrokerSALES_RECORD_AUDIT_DT.DataSet.First;
          finally
                 lDataSet.Free;
          end;
end;

点击前:


运行后:

snap1.jpg

8.53 KB, 下载次数: 255

回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-19 11:22:46 | 显示全部楼层
上述图片是点击前 下面的是运行后:

snap2.jpg

12.22 KB, 下载次数: 251

回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-19 11:23:55 | 显示全部楼层
我跟踪了 lDataSet.RecordCount  等于2  不管选几条 总是比原先选的少一条!!
回复 支持 反对

使用道具 举报

发表于 2009-8-19 11:42:04 | 显示全部楼层
那你跟踪了,具体少哪条呢?怎么跟踪的这个count?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-19 11:44:32 | 显示全部楼层
少最后选中的一条
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-19 11:45:38 | 显示全部楼层
就像我上传的图片一样 最后一条的状态不会变的? 这不知道是什么原因
回复 支持 反对

使用道具 举报

发表于 2009-8-19 11:47:18 | 显示全部楼层
是不是上面的循环搞错了?eof?换成bof看看呢?
还是没有太清楚你的代码逻辑。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-19 11:50:58 | 显示全部楼层
不会是这样的原因吧 我不用克隆数据集的时候 不会出现这样的错误啊!
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-17 20:40 , Processed in 0.043020 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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