用access开发,做备份的时候,先判断还有没有进程连接到数据库,然后copyfile,我想问一下怎么判断还有没有进程连接到access数据库啊?
我看过以前的回答这个问题的帖子,有的人说用ADOConnection.Connected来判断,但是如果有其他ADO连接不是通过ADOConnection来连接数据库的时候怎么办呢?
请大侠指教

解决方案 »

  1.   

    呵呵,如果你有一个数据库叫data.mdb,这样检测
    boolConnected := FileExists('c:\data.ldb')每打开一个Access数据库,都会有一个同名的ldb文件出现,直到数据连接释放
      

  2.   

    好像不行啊!我用了一个Ttable连接数据库,断开后ldb没有消失啊,直到把delphi关了,那个ldb文件才消失!
      

  3.   

    呵呵,楼主不要用这种方法试,编译成exe文件再试。由于楼主用的是Table控件,所以当Open时,会隐式创建一个Session对象,这个对象由Delphi来维护的,所以当你关闭Table时,并不会释放掉连接,也就出现你说的情况了。如果楼主非要在Delphi里试的话,请使用TDataBase,或TADOConnection控件。