遍历TADOQuer的每一条记录(大概40000条)为什么要30多秒呢?有什么方法可以快一点?

解决方案 »

  1.   

    TADOQuery游标游得慢。如果连接Grid更加慢
      

  2.   

    试试这样:
    ADOQuery1.DisableControls;
    ADOQuery1.First;
    while not ADOQuery1.Eof do
    begin
      //do something
      ADOQuery1.Next;
    end;
    ADOQuery1.EnableControls;
      

  3.   

    或者这样
      ADOQuery1.Recordset.MoveFirst;
      while not ADOQuery1.Recordset.EOF do
      begin
        //do something;
        ADOQuery1.Recordset.MoveNext;
      end;
      

  4.   

    楼上方法可以试试,如果让dbgrid每次都定位显示是很慢,单独遍历应该会快点.
      

  5.   

    我的代码什么都没有干只是
    while not ADOQuery1.Eof do
    begin  ADOQuery1.Next;
    end;而已,也一样的慢呀!!
      

  6.   

    gobiz(拔剑容易收剑难) 谢谢你,你的两种方法都可以,很好!