我用adoquery执行了一条很费时的存储过程。然后我的程序就会停止响应,一直到这个存储过程做完程序才恢复响应。因为只用了一条语句(adoquery1.execsql)执行,所以没法用application.ProcessMessages。我又把它做成一个线程来执行,但是执行线程的时候程序还是会停止响应。该怎么解决呢?

解决方案 »

  1.   

    用线种来执行这个SQL吧。
    在执行adoquery1中的SQL语句时,
    但是你的adoquery1千万不要与界面上的敏感控件关联,
    如果关联了,那么你的SQL等同于在主线种中执行,
    也就同样会停止响应。看看多线种与数据库编程的资料吧。
      

  2.   

    Delphi5开发者指南那本书里面有。
    DELPHI的DEMO中也有。
      

  3.   

    首先你要优化你的存储过程代码。其次,按 zhoutian618(周天) 的办法做
      

  4.   

    多开一个线程。
    楼上zhoutian618(周天)的方法我没有用过,第一次听说,能否详细点。