我使用adoquery来查询sql2000的数据,可自定义目标表名,简单点,无须条件。但adoquery已经open后,我一行行读取数据,发现速度非常慢,一个14000条记录,10个字段的表光读取就花了近8秒。但我看看,若使用dbgrid好象一下子就ok了,请教大家我该如何提高速度!能在1秒内遍历还差不多。别告诉我使用dbgrid ,我必须无界面的处理这些记录。因为这些数据还要再加工。
明晚结贴,答我问题者皆友也
明晚结贴,答我问题者皆友也
解决方案 »
- 关于“缺少更新的或刷新的键列信息”的问题,需要帮助
- 谁用过BUProgressDlg.dcu,有的话发给我一份,200 分相赠
- 简单的问题:如何修改记录中某个字段的值?
- 一个关闭其他程序的问题!
- delphi和borland C++bulider的区别。
- CSDN怎么回事?一天到晚的在更新维护?!!!!有这么繁忙吗???
- 能告诉我哪里有系统介绍TREEVIEW的书和贴子吗?(在线!)
- 运用EhLib中的dbguideh控件遇到的问题?
- 如何调用word实现在同一文档中加入不确定个数的相同表格页面,并且实现在每页表格中加入不同内容(在线等待立刻给分!!!)
- 请教CommandButton中的ModalResult属性是做什么用的?能举个例子讲讲吗?
- dbexpress連接mssql:SQL Error: Error mapping failed.
- ADOConnection的一个小问题!!
adoquery.disableconnect;
完成后.
adoquery.enableconnect;
不是一次性载入的,当你拖动滚动条或者调用Last,Locate等命令的时候
才获取数据。
不知道楼主要做什么,既然不需要界面显示为什么不在存储过程中来完成呢
我使用了adoquery.disablecontrols,这样速度可以提高不少,但也需要3秒多种。代码如下:
with adoquery do
begin
...
DisableControls;
Open;
for I:=0 to RecordCount-1 do
begin
......
Next;
end;
end;
但我还是不满足,结果实际读时,我采取如下方法:
with adoquery do
begin
...;
Open;
for I:=0 to RecordSet.RecordCount-1 do
begin
......
RecordSet.MoveNext;
end;
end;呵呵,不到1秒就能将数据全部取出来了。