起步软件技术论坛-X3

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: xhsoft

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

[复制链接]
 楼主| 发表于 2008-7-29 14:50:12 | 显示全部楼层
dsb_hz.DataSet.DisableControls;
  try
  dsb_hz.DataSet.Open;
  dsb_hz.dataset.First;
  while not dsb_hz.dataset.Eof do
  begin
    hzbh := dsb_hz.dataset.FieldByName('bh').AsString;
    dsb_jh.dataset.Open;
    dsb_jh.dataset.First;
    jhzt := dsb_jh.dataset.FieldByName('zcb').AsString;
    dsb_jh.DataSet.Locate('bh',hzbh,[]);
    begin
      dsb_hz.dataset.Edit;
      dsb_hz.dataset.FieldByName('zcb').AsString := jhzt;
      dsb_hz.dataset.Post;
      break;
    end;
    dsb_hz.DataSet.next;
  end;
  finally
  dsb_hz.DataSet.EnableControls;
  end;
  end;
这样写对吗,没有实现
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-29 15:09:13 | 显示全部楼层
?
回复 支持 反对

使用道具 举报

发表于 2008-7-29 15:14:37 | 显示全部楼层
dsb_hz.DataSet.DisableControls;
  try
  dsb_hz.DataSet.Open;
  dsb_hz.dataset.First;
  while not dsb_hz.dataset.Eof do
  begin
    hzbh := dsb_hz.dataset.FieldByName('bh').AsString;
    dsb_jh.dataset.Open;
    dsb_jh.dataset.First;
   // jhzt := dsb_jh.dataset.FieldByName('zcb').AsString;
    dsb_jh.DataSet.Locate('bh',hzbh,[]);
    begin
      dsb_hz.dataset.Edit;
      dsb_hz.dataset.FieldByName('zcb').AsString :=dsb_jh.dataset.FieldByName('zcb').AsString;
      dsb_hz.dataset.Post;
      break;
    end;
    dsb_hz.DataSet.next;
  end;
  finally
  dsb_hz.DataSet.EnableControls;
  end;
  end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-29 15:16:53 | 显示全部楼层
为什么不能直接等于变量呢
回复 支持 反对

使用道具 举报

发表于 2008-7-29 16:44:21 | 显示全部楼层
你那个变量不对,它没有经过过滤,确切说他始终是数据集中该字段的第一个值
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-29 16:48:34 | 显示全部楼层
哦,明白,结
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-20 07:53 , Processed in 0.047566 second(s), 13 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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