用ADO连接了DBF,ADOQuery是动态创建的,用完后FreeAndNil(ADOQuery),然后发现DBF文件竟然还是没有释放掉,怎么回事?只有关闭应用程序以后,才可以释放。今天第一次来这里 ,没有分,太不好意思了!

解决方案 »

  1.   

    如果adoquery是通过adoconnection连接,并且是放在datamodule上,建议手工释放这个adoconnection和datamodule.
    仅仅是关闭active:=false是不行的。
      

  2.   

    adoconnection.close
    应该是这个
      

  3.   

    关adoquery啥事啊?
    是adoconnection在连接数据库,你adoconnection.active:=false;那个dbf就没有了
      

  4.   

    问题是我没有用到ADOConnection这个控件啊,我直接用ADOQuery这个控件的ConnectionString这个属性设置连接的,而且仅仅用了这一个控件,其他的什么控件都没有用,包括DataModule
    现在发现,是DBF文件要隔一两分钟以后才释放的,我试图删除刚刚用到的DBF文件,发现ADOQuery释放掉以后立即删除DBF显示DBF被占用,但是一两分钟以后又可以删除,此时程序仍在运行!难道是我的电脑运行速度太慢了?也不至于要等一两分钟啊,十几秒钟都不行……