使用vb.net删除访问mdb文件

问题描述:

我有一个用户程序使用oledb连接一个mdb文件,在连接之前,我需要检查mdb是否存在,如果存在,删除和创建。如果不存在,只需创建。但是当我检查mdb存在并想删除时,ldb文件锁定,我想问一下我可以强制解锁ldb并删除mdb文件?使用vb.net删除访问mdb文件

如果你使用的是OleDb,你的必须是关闭或者丢弃所有使用的对象OleDbConnectionOleDbCommand.¹否则,mdb文件仍处于“正在使用”状态,无法删除。

一个简单的方法是将所有这些对象包装在Using块中。

例如,而不是

Dim cn As New OleDbConnection(...) 
Dim cmd As New OleDbCommand(...) 
cmd.ExecuteNonQuery() 
cn.Close() 

你可以这样写:

Using cn As New OleDbConnection(...) 
    Using cmd As New OleDbCommand(...) 
     cmd.ExecuteNonQuery() 
    End Using 
End Using 

(请注意,您不需要明确Close连接更多,这是自动在年底完成Using区块)


¹这是不同的t比例如SqlCommand s,其更优雅地反应而不被处置。但是,通常情况下,如果它实现了IDisposable,请将其处置。

+0

很好的答案,但我不得不问。你是怎样做的?我的意思是页脚注释(1.) – Steve

+2

Win + R/charmap/Enter /双击上标1(中右)/点击“复制”/粘贴到堆栈溢出张贴。 – Heinzi