我现在窗体FormCreate事件中,动态让adoquery加载数据。这样的结果在数据量越来越多的情况下,窗体打开会越来越慢。有没其它更好办法?procedure Tfrm1.FormCreate(Sender: TObject);
beginadoquery1.Close;
adoquery1.Connection:=dm1.ADO_KF;adoquery1.close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from yd01');
adoquery1.Open;
end;
beginadoquery1.Close;
adoquery1.Connection:=dm1.ADO_KF;adoquery1.close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from yd01');
adoquery1.Open;
end;
可以条件查询最新的一部分数据。如果再追求速度,可以只查询需要的字段。2、第二句adoquery1.close; 可以删去3、如果非要查询所有记录的所有字段,应该没有其他办法吧,只有查询。至少我不知道。
然后进入操作需要的时候,继续提取所有的数据。这样给用户一个假象而已。
BDE可以控制这个操作,一次提取少量的数据,在滚动数据集的时候,需要的时候BDE自动从数据库提数据。
ADO也有个提记录数量的属性,不过我设置了,似乎效果不明显,不知道为什么