我想问一下,当AdoQuery.Open时,有没有办法显示一个进度条呢?
不然用户老是以为死机。

解决方案 »

  1.   

    应该可以的吧,但我不会。
    不过,有一个比较简单的方法可以起相同的效果,
    可以改变鼠标形状或者在状态栏显示相关信息,
    比如“正在打开数据库...”等。
    Statusbar1.panel[1].text:='正在打开数据库...';
    ADOQuery.Open;
    Statusbar1.panel[1].text:='';
      

  2.   

    利用这两个事件procedure TForm1.ADODataSet1FetchProgress(DataSet: TCustomADODataSet;
      Progress, MaxProgress: Integer; var EventStatus: TEventStatus);
    begin
    、、、、、、、、、、、、、、
    end;procedure TForm1.ADODataSet1FetchComplete(DataSet: TCustomADODataSet;
      const Error: Error; var EventStatus: TEventStatus);
    begin
    、、、、、、、、、、、、、、、、、、
    end;
      

  3.   

    学习,应该是个好点子。
    delphi有progress控件
      

  4.   

    谢谢各位,我很少有机会上网啊,呵呵,今天才看到大家的回答
    我想再问一下,用progress的话要怎么实现呢?
      

  5.   

    要把ADO改成异步方式。这样才能在他长时间的查询操作的时候立即返回,你能得到控制权,然后自己在查询ado的进度来完成和进度条同步。
      

  6.   

    to : pazee(耙子) :听起来很有道理啊,可是具体要怎么做呢?
    能举个例子吗?