起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 319|回复: 15

【结贴】如何提高循环速度**

[复制链接]
发表于 2008-7-29 10:39:03 | 显示全部楼层 |阅读模式
如下代码
begin
  dsb_hz.DataSet.DisableControls;
  try
  dsb_hz.DataSet.Open;
  dsb_hz.dataset.First;
  while not dsb_hz.dataset.Eof do
  //for ii := 0 to dsb_hz.DataSet.RecordCount do
  begin
    hzbh := dsb_hz.dataset.FieldByName('bh').AsString;
    dsb_jh.dataset.Open;
    dsb_jh.dataset.First;
    while not dsb_jh.dataset.Eof do
  // for jj := 0 to dsb_jh.dataset.RecordCount do

    begin
      jhbh := dsb_jh.dataset.FieldByName('bh').AsString;
      jhzt := dsb_jh.dataset.FieldByName('zcb').AsString;
      if hzbh= jhbh then
      begin
        dsb_hz.dataset.Edit;
        dsb_hz.dataset.FieldByName('zcb').AsString := jhzt;
        dsb_hz.dataset.Post;
        break;
      end;
      dsb_jh.dataset.Next;
    end;
    dsb_hz.DataSet.next;
  end;
  finally
  dsb_hz.DataSet.EnableControls;
  end;
回复

使用道具 举报

发表于 2008-7-29 11:17:13 | 显示全部楼层
用Locate替换中间那个循环
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-29 11:36:51 | 显示全部楼层
不对吧, dsb_jh.dataset.sqlfilter:='bh=zcb'  哙意思

begin
    hzbh := dsb_hz.dataset.FieldByName('bh').AsString;  
   
          jhzt := dsb_jh.dataset.FieldByName('zcb').AsString;     
        dsb_hz.dataset.Edit;
        dsb_hz.dataset.FieldByName('zcb').AsString := jhzt;         
      
      dsb_jh.dataset.Next;
    end;
    dsb_hz.DataSet.next;
  end;
回复 支持 反对

使用道具 举报

发表于 2008-7-29 11:48:00 | 显示全部楼层
不对的话,你自己修改一下,意思已经描述清楚了。
可以把我的代码看成伪代码。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-29 11:52:48 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-29 11:53:42 | 显示全部楼层
dsb_jh.dataset.sqlfilter:='bh=zcb'  
这句不明白,过滤的是什么
回复 支持 反对

使用道具 举报

发表于 2008-7-29 11:57:06 | 显示全部楼层
这句是过滤,sqlfiter是过滤,你可以看一下用户手册
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-29 11:57:49 | 显示全部楼层
最初由 xhsoft 发布
[B]dsb_jh.dataset.sqlfilter:='bh=zcb'  
这句不明白,过滤的是什么 [/B]
回复 支持 反对

使用道具 举报

发表于 2008-7-29 14:14:59 | 显示全部楼层
我写错了,重新看2楼
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-29 14:31:35 | 显示全部楼层
嗯,我说怎么看着糊涂
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-19 19:09 , Processed in 0.037884 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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