能帮这个记录集的克隆速度提高吗?(200)

  • 主题发起人 主题发起人 www.ynxbs.com
  • 开始时间 开始时间
W

www.ynxbs.com

Unregistered / Unconfirmed
GUEST, unregistred user!
Read := TadoDataSet.Create(nil); Read.Connection := self.ADOConnection1; memo1.Lines.Add('加载read 缓存...'); Read.CommandText := 'select IID FROM Teacher order by IID'; Read.open; //消耗3秒 memo1.Lines.Add('加载sort list 缓存...'); sort := tstringlist.Create; while not read.Eof do begin sort.Add(read.fields[0].AsString); read.Next; end;//我的记录集合有17000条记录,循环消耗了40多秒,各位,能帮我提高速度吗?
 
用 clientdataset 看能否快点?
 
..没的提拉。。晕。。就几行代码了。都是系统类了。。应该已经优化的最好。。
 
Read.DisableControls;Sort.BeginUpdate;try while not read.Eof do begin sort.Add(read.fields[0].AsString); read.Next; end;finally Read.EnableControls; Sort.EndUpdate;end;如果还慢,不用Sort.Add,直接用数组。如: Sort: array of string;while not Read.Eof doRead.DisableControls;Sort.BeginUpdate;try SetLength(Sort, Read.RecordCount); while not read.Eof do begin Sort := read.fields[0].AsString; read.Next; end;finally Read.EnableControls; Sort.EndUpdate;end;还慢的话,不要用字符串,用integer还慢的话,。。。。。
 
很多问题,它们效率慢的问题就是因为感知或UI的问题UI组件或感知组件是什么,D里面拉下来就是组件基本都是UI组件,所以,没事看看里面的代码,很多问题就不是问题了。
 
谢谢,楼上:Read.DisableControls;Sort.BeginUpdate;非常非常正确
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
756
import
I
I
回复
0
查看
666
import
I
后退
顶部