我用TADOCommand执行一个数据更新sql语句:
update t1 set txt=:txt传入的:txt参数是一个文本文件的内容,大概有4K byte 左右数据库中现有1,000,000条记录。命今执行后,程序会出现假死现象(因为这条语句的操作过程太长了)如何解决这个问题?(不要告诉我换成一条一条的Edit->post)

解决方案 »

  1.   

    呵呵,你所谓的假死现象我也遇到过,因为你的SQL语句无法再细分了,所以我觉得不能用多线程处理,我后来是用FORM.Refresh来定时刷新窗体,做成不假死的样子的,但是我觉得方法不够好,希望能看到好方法。
      

  2.   

    不会得,新建一个线程,在线程里执行就行了
    procedure adoexecmd.Execute;
    begin
      { Place thread code here }
      with Form1 do
      begin
        ADOQuery1.Parameters.ParamValues['t2']:=Memo1.Lines.Text;
        ADOQuery1.ExecSQL;
      end;
    end;