第一次打开窗口时,显示的数据没有问题,但关闭窗口再接着打开刚刚关闭的窗口,就有adoquery控件显示不到数据,但也有adoquery控件可以显示到数据(用到几个adoquery在同一个窗口显示数据),为什么会这样,是不是和内存释放有关

解决方案 »

  1.   

    我想应该是在第一次取得数据后没有关闭query的问题!! 
    而后再第二次去数据的时候,出现了错误!! 由于缓冲区又第一次取得数据,所以有数据显示!!  你的第一次取得数据的时候, close以下query看看试不是这个问题
      

  2.   

    我前兩天也有這樣的問題﹐后來我在退出事件中加入:
    if not (ADODataSet.State=dsInactive) then
       ADODataSet.Close;
    From.Free;
    才行。
      

  3.   

    Action:=cafree;
    form:=nil;~~~~~~~~~~~~~~~~~~~~~~~~  
     世界因为你我而年轻!
    ☆★○●◎◇◆□■△▲※
      

  4.   

    你的窗体用 YourForm:=TYourForm.creat(self);
              YourForm.showmodel; 
    来创建和显示
    关闭时在YourForm的Close事件中
        action:=cafree;
    ok!
      

  5.   

    在关闭窗口的事件中加入以下代码:
    adodataset.close;
    Action:=cafree;
    form:=nil;
    一般就没有这个问题了。特别是在多文档中更应如此。
      

  6.   

    你想释放的时候不要用FREE
    用FreeAndNil
    就不会有这么情况了。