起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 234|回复: 12

【结贴】打开页面很慢,如何优化?**

[复制链接]
发表于 2008-7-4 08:30:13 | 显示全部楼层 |阅读模式
流程的第二步,打开数据很慢。

第一步也很慢,有4000行数据。

但是,第二步,我只要显示大概30行,也同样很慢。

如何优化?


我的代码如下:


procedure TCWSKB.BizFormCreate(Sender: TObject);
begin
  if not dsbZJJFJD.DataSet.Active then
    dsbZJJFJD.DataSet.Open;
  
  TSQLDataset(dsbCKSZcB.DataSet).SQLFilter:=' sfxz=1 ' ;  //  过滤之后,数据就不多了,
  TSQLDataset(dsbCKSZcB.DataSet).SQLFiltered:=true;

  dsbCKSZcB.DataSet.Order:='sxh';


end;
回复

使用道具 举报

发表于 2008-7-4 09:11:35 | 显示全部楼层
先设置过滤条件,后打开数据集
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-4 09:31:03 | 显示全部楼层
你是讲 这个 dsbZJJFJD 数据集?
回复 支持 反对

使用道具 举报

发表于 2008-7-4 09:43:04 | 显示全部楼层
就是那个有4000行的数据集
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-4 13:20:48 | 显示全部楼层
我修改了了代码

procedure TCWSKB.BizFormCreate(Sender: TObject);
begin
   
  TSQLDataset(dsbCKSZcB.DataSet).SQLFilter:=' sfxz=1 ' ;  //  过滤之后,数据就不多了,
  TSQLDataset(dsbCKSZcB.DataSet).SQLFiltered:=true;

  dsbCKSZcB.DataSet.Order:='sxh';


end;


数据有过滤。 但是还是很慢。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-4 13:23:02 | 显示全部楼层
只打开一个数据集,本来有4000行,但是我过滤了(TSQLDataset(dsbCKSZcB.DataSet).SQLFilter:=' sfxz=1 ')
这样就只有30行左右,但还是很慢。
回复 支持 反对

使用道具 举报

发表于 2008-7-4 13:38:34 | 显示全部楼层
TSQLDataset(dsbCKSZcB.DataSet).SQLFilter:=' sfxz=1 ' ;
这句执行前估计数据集已经打开了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-4 13:41:15 | 显示全部楼层
这是主从关联数据集中的从数据集,

主数据集是自动打开的,估计从数据集在主数据集打开之后,也主动打开了。


那要怎么修改?
回复 支持 反对

使用道具 举报

发表于 2008-7-4 13:53:28 | 显示全部楼层
从数据集在应用主从过滤后,还有4000条记录吗?
你把文档的自动打开数据集选项去掉吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-4 14:16:48 | 显示全部楼层
是的。通过主从关联之后,从数据集还有400条
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-18 20:07 , Processed in 0.040936 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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