你是不是append或edit而没有post???
试试:(应该是一样的)
adoquery1.Active=false;

解决方案 »

  1.   

    试试:
    adoquery1.open;
    adoquery1.close;
      

  2.   

    还是不行,真是太没天理了,难得大力兄弟那么热心,老天还是不帮忙
    我做的是一个简单的测试,程序如下procedure TF_Store.FormActivate(Sender: TObject);
    begin
     with DM_Test.ADOQuery_Store do
         begin
           close;
           sql.clear;
           sql.Add('Select * from 库存 order by 月度');
           open;
           first;
         end;
    end;退出按钮程序为
    procedure TF_Store.BitBtn1Click(Sender: TObject);
    begin
      DM_Test.ADOQuery_Store.open ;
      DM_Test.ADOQuery_Store.close;  
     F_Store.close;
     end;怎么还是不行呢?
      

  3.   

    如果把表 open以后,不再关闭表,即在程序中永远不出现 ADOQUERY.close
    上述的情况就不会出现了
    可是表打开后不关闭,会出现什么后果呢?我不知道的
      

  4.   

    试试:(你是6.0+吗?)
    procedure TF_Store.FormActivate(Sender: TObject);
    begin
     with DM_Test.ADOQuery_Store do
         begin
           close;
           sql.clear;
           sql.Add('Select * from 库存 order by 月度');
           open;
                      //去掉first;应为是冗余的
           close;
         end;
    end;
      

  5.   

    你最好不要将代码写在Activate事件
    或先判断一下:
    procedure TF_Store.FormActivate(Sender: TObject);
    beginif DM_Test.ADOQuery_Store.Active then
    exit; with DM_Test.ADOQuery_Store do
         begin
           close;
           sql.clear;
           sql.Add('Select * from 库存 order by 月度');
           open;
                      //去掉first;应为是冗余的
         end;
    end;退出按钮程序为
    procedure TF_Store.BitBtn1Click(Sender: TObject);
    begin if DM_Test.ADOQuery_Store.Active then
      DM_Test.ADOQuery_Store.close;  
     F_Store.close;
     end;
      

  6.   

    不好意思,我的是5.0的,刚才我用了 7.0测试了一下
    就一切OK了,是不是ADO没升级的缘故呀?
    太谢谢你了,大力兄弟,老实说,很少看到哪个斑竹那么不厌其烦的给人解答的
    你真是好样的,admire!
      

  7.   

    你最好不要将代码写在Activate事件,或先判断一下!
    5.0应该可以过奖了!