1 ,用多线程,看帮助,它里面有个例子,照猫画虎即可。
2,再你的数据操作循环中加入一句:
   application.processmessage;

解决方案 »

  1.   

    1 ,用多线程,看帮助,它里面有个例子,照猫画虎即可。
    2,再你的数据操作循环中加入一句:
       application.processmessage;
    3,ado并不慢,只是你用惯了旧的东东,不想学新的而已。
      

  2.   

    明白了一些,多谢指教,但是我还是不太明白在工作线程中如何操作数据库表。
    能给个例子吗?
    但是ado在第一次连接的时候非常的慢呀!
      

  3.   

    看来你是用
    Ttable来开启Oracle中的表!! 或是用 'Select * from Mytable'的Tquery了.那就是说, 你先把Oracle表中的所有数据完全读取, 才做其他工作, 假如你的
    Oracle表有数计的纪录, 你的程式当然会慢如泥牛了.所以你千万不要用Ttable於Oracle表, 除非你知道这是非常的小的.
    不要用 'select * from ..'的sql.  只摄用要用的字段如
    'select field1, field2, field3,.., fieldn from Mtable 
    where <condition1>
    and <condition2>'
    就可以大幅减少网络交通了, 而加快程式速度.再者, 在使用Ttable或TQuery之时用 先关闭视窗显示: Table1.DisableControls; 或 Query1.DisableControls;
    完成後才回覆正常视窗显示:
    Table1.EnableControl2; 或 Query1.EnableControls都会有帮助的.