我想将一个表的十万条记录,添加到另一个表,如何用进度条表示当前的添加进度.

解决方案 »

  1.   

    procedure TForm1.ADOQuery1FetchProgress(DataSet: TCustomADODataSet;
      Progress, MaxProgress: Integer; var EventStatus: TEventStatus);
    beginend;
      

  2.   


    Table1.First;
    ProgressBar1.Max:=Table1.RecCount;
    While not Table1.Eof do begin
        ...
        Progressbar1.position:=Table1.RecNo;
      Table1.Next;
    End;   
      

  3.   

    可以看李维的《Delphi 5.x-ADOMTSCOM+》
      

  4.   

    Agree with 21stboy(华建) !
      

  5.   

    选择A D O执行同步或非同步执行模式由ExecuteOptions属性来决定,可以在这
    个属性中选择使用下列的属性值:
    选项                                                          意义EoAsyncExecute            以异步的方式执行命令
    事件处理程序                                                   说明
    OnFetchProgress      在异步存取数据时,会定时触发这个事件处理程序
    OnFetchComplete     当异步存取的数据完全存取完毕之后,会触发这个事件处理程序
    如果你知道如何好好地利用ADO这种异步存取的模式,那么它也可以增加你的ADO应用程序的执行效率。例如,你可以把新增数据、删除数据以及修改数据的工作交由异步存取的ADO组件来执行,这样你的A D O应用程序可以立刻响应用户,至少可以让你的ADO应用程序感觉起来快了许多。事实上,由于异步执行模式可以节省系统锁定的资源,因此的确可以少量增加执行效率。