这里是VB6代码片段:如何正确删除所有连接到Access数据库
myProjectDaoDB.Close
FileCopy myName, TempFile
其中MYNAME是数据库的路径。这个数据库大概是在第一行中关闭的。看起来,仅仅关闭数据库不足以正确删除对数据库的所有访问,因为当我运行该程序时,运行时错误为'70':权限被拒绝。我知道用户权限没有实际问题。这个错误只发生在保存到数据库后,所以我确定某些东西没有正确关闭。
当数据库打开时,会创建一个锁定文件。如果我在不对数据库进行任何更改的情况下运行此代码,则锁定文件在第一行运行后被删除。当我对数据库进行更改时,锁定文件不会被删除。当它试图关闭数据库时没有错误,为什么它仍然存在?
更新:我按照步骤here找出谁在错误期间与数据库有连接。根据结果,当我尝试关闭连接而不更改数据库时,它只是我的连接。当我进行更改时,我连接两次。看来,然后myProjectDaoDB.Close不关闭所有的连接。是什么赋予了?
除了关闭外部数据库之外,您是否还将其数据库变量设置为Nothing?如果你不这样做,未清理的指针可能会让LDB打开。 – 2009-12-01 21:48:30