建义看一下   李维的《delphi5.x Ado/Mts/Com+ 高级程序设计篇》

解决方案 »

  1.   

    不要用处理 Ttable的方法来处理SQL 2000 server上数据.  请改用SQL吧
    如上应可改为
    With ADOQuery1 do begin
    Sql.clear;
    Sql.Add('Insert into Table2(ID) Select ID from Table1;');
    execsql;
     
    sql.clear;
    Sql.Add('Delete from Table1;');
    execsql;
    end;
      

  2.   

    ADO 的效率如何我不知道,但 ADO 体积小、携带方便、使用方便确是真的。
      

  3.   

    to erickleung() 
    我所说的只是个例子,实际操作上不得用我例子上的方法。实际情况是这样的,我要对table1表里的每条记录根据不同情况处理后,再把内容放到table2表,有可能table1表里的记录将生成两条或更多的记录append到table2条。或者说table1表里的有的记录现在暂时不处理,但得保留。而且上面我只是写成一个按钮来触发,实际上是每隔一秒钟要调用一次上面的方法,同时table1表每时每刻都有记录进来,table2表每时每刻有记录被删除。所以不能采用erickleung() 的方法,他的sql.clear;
    Sql.Add('Delete from Table1;');
    execsql;这几句就有导致table1进来的记录,没处理就被干掉了。
    现在别人要我把处理速度提高到150条记录/秒。可我左测右测,每秒才50-60条左右。如果改成BDE则可实现。
      

  4.   

    试试按照李维的方法优化一下,说不定能够提高ADO的效率。
      

  5.   

    正确的使用ADO肯定速度快,如果不快,为什么这么多人不推翻他呢.