我在窗体的UNLOAD事件里要删除数据库文件,可是这个时候,数据库的LDB文件还存在,我已经Dbconn.close 和set Dbconn=nothing 了,为什么还是不能删除啊,怎么彻底断开数据库呢?

解决方案 »

  1.   

    要先关闭记录集,将记录集设置为NOTHING,然后再关闭连接,一定要注意顺序!!
      

  2.   

    connection是在main函数里建立的,中间,我在每个使用recordset对象的地方结束后都close和nothing一下,然后在最后一个窗体的UNLOAD事件里关闭CONNNETCTION,这样的顺序应该没错吧
      

  3.   

    关闭connection之后,还是要set connection=nothing
      

  4.   

    我NOTHING了,我用这句删除的“If Dir(mypath) <> "" Then Kill mypath”,mypath就是数据库文件的路径!
      

  5.   

    若果进程中还存在MSACCESS.EXE是不能删除数据库文件,要结束掉它再删除。
      

  6.   

    我用这句删除的“If Dir(mypath) <> "" Then Kill mypath”
    ========
    Kill不能删除目录的吧,它只能删除文件
      

  7.   

    mypath变量的值是“C:\WINNT\system32\MSsys32.dll”
      

  8.   

    “If Dir(mypath) <> "" Then Kill mypath”,执行这句之前,我查看了进程,没有MSACCESS.EXE
      

  9.   

    在form的terminate事件里面写删除,试试
    unload可能不行。
      

  10.   

    加一條命令 end
    這個問題我也遇到過,就這樣OK
      

  11.   

    這條命令是在退出程序時加的,一般在form_unload的最後面加
      

  12.   

    我的WINDOWSXP+VB6+SP6 不出现该问题,但WINDOWSME+VB6+SP4 出同样问题。你有没有用到ADODC控件?赞同胡逸之:强烈建议连接对象用完后及时关闭(在过程内),用的时候再打开
      

  13.   

    另外,顺便问一句,你的MDB文件有多大?有没有保存图片或声音?
      

  14.   

    //哦.Access也有连接池吗??????
    不是Access,用ADO访问数据库,其实低层是调用OLE DB的,较高版本的OLE DB是有连接池的