起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 117|回复: 4

【搞定】查询效率问题.**

[复制链接]
发表于 2007-5-21 17:15:20 | 显示全部楼层 |阅读模式
我在查询按钮代码中执行了这个函数,查询时间就从1秒延长到10多秒,请各位老师指正.

procedure TMainForm.SWJLZZGSCKJL;
var
  lComType: string;
begin
  lComType := TCommonFunctionLib.GetCompanyType(context);
  if lComType = '制造公司' then
  begin

    dsbMaster.DataSet.FieldByName('SWJLCKJL').ReadOnly := True;
    dsbMaster.DataSet.FieldByName('ZRRID').ReadOnly := True;

    dsbMaster.DataSet.FieldByName('HTBM').ReadOnly := False;
    dsbMaster.DataSet.FieldByName('HTZJE').ReadOnly := False;
    dsbMaster.DataSet.FieldByName('XSGSID').ReadOnly := False;
    dsbMaster.DataSet.FieldByName('KHID').ReadOnly := False;
    dsbMaster.DataSet.FieldByName('KHLXR').ReadOnly := False;
    dsbMaster.DataSet.FieldByName('KHDH').ReadOnly := False;
    dsbMaster.DataSet.FieldByName('XMID').ReadOnly := False;
    dsbMaster.DataSet.FieldByName('FHSJ').ReadOnly := False;
    dsbMaster.DataSet.FieldByName('FHJE').ReadOnly := False;
    dsbMaster.DataSet.FieldByName('YDK').ReadOnly := False;
    dsbMaster.DataSet.FieldByName('YQK').ReadOnly := False;
    dsbMaster.DataSet.FieldByName('BYJHHL').ReadOnly := False;
    dsbMaster.DataSet.FieldByName('SJHL').ReadOnly := False;
    dsbMaster.DataSet.FieldByName('CY').ReadOnly := False;
    dsbMaster.DataSet.FieldByName('XYJHHL').ReadOnly := False;
    dsbMaster.DataSet.FieldByName('XXYJHHL').ReadOnly := False;
    dsbMaster.DataSet.FieldByName('ZL').ReadOnly := False;
    dsbMaster.DataSet.FieldByName('ZZGSCKJL').ReadOnly := False;
    dsbMaster.DataSet.FieldByName('CYYYFX').ReadOnly := False;
    dsbMaster.DataSet.FieldByName('HTTK').ReadOnly := False;

    dsbXSY.DataSet.ReadOnly := False;
    dsbXSY.DataSet.Edit;
  end;
end;
回复

使用道具 举报

 楼主| 发表于 2007-5-22 09:13:18 | 显示全部楼层
up
回复 支持 反对

使用道具 举报

发表于 2007-5-22 10:05:43 | 显示全部楼层
这么多的设置只读,当然速度慢了
你可以定义数据集的是否可编辑表达式来定义只读,也可以在字段的 编辑属性|只读 上定义只读

如果必须用代码的话,可以在所有的代码之前执行DataSet.DisableControls,最后执行DataSet.EnableControls
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-22 10:23:16 | 显示全部楼层
前两个方法在我做的这个里面不大可行.后一个我试试.谢谢您的支持.
如果可行的话,我再跟帖
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-23 08:34:04 | 显示全部楼层
谢谢,相对来说.查询时间从10秒缩短到4秒.先结帖吧.
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-10 21:13 , Processed in 0.035679 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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