起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 358|回复: 14

[结贴]大家帮忙看看**

[复制链接]
发表于 2008-1-23 15:54:39 | 显示全部楼层 |阅读模式
procedure TJYJHJS_CT.FlowBroker1AfterFlowBack(Sender: TObject; Command: TFlowBackCommand);
begin
     DataSetBroker1.DataSet.open;
     DataSetBroker1.DataSet.First;
     //jsdialogs.ShowMsg(,'');
     while not DataSetBroker1.DataSet.Eof do
         begin
              DataSetBroker1.DataSet.Edit;
              DataSetBroker1.DataSet.FieldByName('SJJYJHID').AsString:='';
              DataSetBroker1.DataSet.Next;
         end;
     DataSetBroker1.DataSet.ApplyUpdates;
     DataSetBroker1.DataSet.close;
end;


当DataSetBroker1数据集有一条数据时while循环执行一次,当DataSetBroker1数据集有N条数据时while循环执行N-1次,请问怎么才能有N条数据while循环执行N次呢?
回复

使用道具 举报

发表于 2008-1-23 16:36:44 | 显示全部楼层
1条数据执行1次
n条数据执行的也是N次,不会是N-1次
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-23 16:39:39 | 显示全部楼层
我测试的怎么总是少一次呢?
回复 支持 反对

使用道具 举报

发表于 2008-1-23 16:41:28 | 显示全部楼层
楼主是怎么发现少执行一次的?
回复 支持 反对

使用道具 举报

发表于 2008-1-23 16:44:28 | 显示全部楼层
少一次?楼主,怎么得出来少一次的?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-23 16:52:12 | 显示全部楼层
通过中断就可以测试出来呀
回复 支持 反对

使用道具 举报

发表于 2008-1-23 16:57:09 | 显示全部楼层
是设置断点吗?

具体是怎么做的?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-23 17:22:11 | 显示全部楼层
具体做法是在任务被退回时把从数据集中的SJJYJHID字段设置为空,下图就是DataSetBroker1数据集中的两个子项目,事件触发时只有一个项目被修改了

aaa.jpg

7.96 KB, 下载次数: 174

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-23 17:23:54 | 显示全部楼层
如果程序这样写就能实现我的目的
procedure TJYJHJS_CT.FlowBroker1AfterFlowBack(Sender: TObject; Command: TFlowBackCommand);
begin
     DataSetBroker1.DataSet.open;
     DataSetBroker1.DataSet.First;
     //jsdialogs.ShowMsg(,'');
     while not DataSetBroker1.DataSet.Eof do
         begin
              DataSetBroker1.DataSet.Edit;
              DataSetBroker1.DataSet.FieldByName('SJJYJHID').AsString:='';
              DataSetBroker1.DataSet.Next;
         end;
         DataSetBroker1.DataSet.Edit;
         DataSetBroker1.DataSet.FieldByName('SJJYJHID').AsString:='';
     DataSetBroker1.DataSet.ApplyUpdates;
     DataSetBroker1.DataSet.close;
end;
回复 支持 反对

使用道具 举报

发表于 2008-1-24 09:32:20 | 显示全部楼层
不会啊,楼主把断点设置到循环的
         DataSetBroker1.DataSet.FieldByName('SJJYJHID').AsString:='';上
如果有2条记录肯定会执行到2次的.
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-6 01:29 , Processed in 0.045213 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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