我的程序用ADO连接数据库,由于数据库中数据量很大,程序在查找数据或打开某个数据表时常要花时间,我希望这时光标能够变成漏斗状或者出现一个查询等待的窗体,不至于让人认为死机,该怎么实现?

解决方案 »

  1.   

    变成沙漏: screen.cursor:=crhourglass; 还原: screen.cursor:=crdefault; 
      

  2.   

    procedure TForm1.BitBtn1Click(Sender: TObject);
    begin
          Screen.cursor := crHourGlass;
          with ADOQuery1 do
          begin
                close;
                sql.text := 'select * from a';
                open;
          end;
    end;procedure TForm1.ADOQuery1EndOfRecordset(DataSet: TCustomADODataSet;
      var MoreData: WordBool; var EventStatus: TEventStatus);
    begin
          Screen.cursor := crDefault;
    end;
      

  3.   

    var
     sc:TCursor;
    begin
       sc:=screen.cursor;
       try
        screen.cursor:=crhourglass;
        //查询
        //...
       finally
         screen.cursor:=sc;
       end;
    end;
      

  4.   

    查询前:
    screen.Cursor:=crhourgrass;
    查询完后变回:
    screen.Cursor:=crDefault;
      

  5.   

    var
     sc:TCursor;
    begin
       sc:=screen.cursor;
       try
        screen.cursor:=crhourglass;
        //查询
        //...
       finally
         screen.cursor:=sc;
       end;
    end;
    支持
      

  6.   

    screen.cursor:=crhourglass; 
    screen.cursor:=crdefault;