delphi adoquery 查询
场景:delphi顶用ADOquery查询
delphi中用ADOquery查询
我用delphi做了一个查询系统,是用ADOquery访问数据库的,现在数据库的数据量越来越大,查询速度也越来越慢,查询结果是显示在dbgrid中的,一般查询结果不是直接显示在dbgrid中吗,现在查询结果在dbgrid中显示的过程很慢,看到滚动条慢慢下拉最后才显示完,这种情况我要怎么处理能提高这个查询速度啊?
------解决方案--------------------
你首先要知道是查询数据慢还是DBGIRD显示数据慢。
查询数据慢的话用索引什么的解决
显示数据不般不会很慢除非你显示十几万几十万的数据。
这样的话,用分页
------解决方案--------------------
十几万条数据查询起来应该不慢的,估计是显示在dbgird里面的速度慢了。
------解决方案--------------------
你应该是在查询后又对每笔记录循环吧,循环的时候按下面的处理试下:
加上DisableControls和EnableControls
procedure TfmMain.Button1Click(Sender: TObject);
begin
ADOQuery1.DisableControls;
try
First;
while not Eof do
begin
Next;
end;
finally
ADOQuery1.EnableControls;
end;
end;
delphi中用ADOquery查询
我用delphi做了一个查询系统,是用ADOquery访问数据库的,现在数据库的数据量越来越大,查询速度也越来越慢,查询结果是显示在dbgrid中的,一般查询结果不是直接显示在dbgrid中吗,现在查询结果在dbgrid中显示的过程很慢,看到滚动条慢慢下拉最后才显示完,这种情况我要怎么处理能提高这个查询速度啊?
Delphi
数据库
ADOquery
------解决方案--------------------
你首先要知道是查询数据慢还是DBGIRD显示数据慢。
查询数据慢的话用索引什么的解决
显示数据不般不会很慢除非你显示十几万几十万的数据。
这样的话,用分页
------解决方案--------------------
十几万条数据查询起来应该不慢的,估计是显示在dbgird里面的速度慢了。
------解决方案--------------------
你应该是在查询后又对每笔记录循环吧,循环的时候按下面的处理试下:
加上DisableControls和EnableControls
procedure TfmMain.Button1Click(Sender: TObject);
begin
ADOQuery1.DisableControls;
try
First;
while not Eof do
begin
Next;
end;
finally
ADOQuery1.EnableControls;
end;
end;