读书人

delphi顶用ADOquery查询

发布时间: 2013-08-29 10:33:02 作者: rapoo

delphi中用ADOquery查询
我用delphi做了一个查询系统,是用ADOquery访问数据库的,现在数据库的数据量越来越大,查询速度也越来越慢,查询结果是显示在dbgrid中的,一般查询结果不是直接显示在dbgrid中吗,现在查询结果在dbgrid中显示的过程很慢,看到滚动条慢慢下拉最后才显示完,这种情况我要怎么处理能提高这个查询速度啊? Delphi 数据库 ADOquery
[解决办法]
你首先要知道是查询数据慢还是DBGIRD显示数据慢。
查询数据慢的话用索引什么的解决
显示数据不般不会很慢除非你显示十几万几十万的数据。
这样的话,用分页
[解决办法]

引用:
你首先要知道是查询数据慢还是DBGIRD显示数据慢。
查询数据慢的话用索引什么的解决
显示数据不般不会很慢除非你显示十几万几十万的数据。
这样的话,用分页

十几万条数据查询起来应该不慢的,估计是显示在dbgird里面的速度慢了。
[解决办法]
引用:
Quote: 引用:

考虑用一下其他的grid控件,rzdggrid,cxgrid试试看。
我这个查询结果也就两千多条,怎么会这么慢呢?没理由啊


你应该是在查询后又对每笔记录循环吧,循环的时候按下面的处理试下:

加上DisableControls和EnableControls

procedure TfmMain.Button1Click(Sender: TObject);
begin
ADOQuery1.DisableControls;
try
First;
while not Eof do
begin

Next;
end;
finally
ADOQuery1.EnableControls;
end;
end;

读书人网 >.NET

热点推荐