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

时间:2013-01-18 06:32:26

标签: vb.net

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

1 个答案:

答案 0 :(得分:2)

如果您使用的是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块结束时自动完成的。)


¹这与例如SqlCommand s不同,IDisposable s更优雅地反应而不被处置。但是,作为一般规则:如果它实现{{1}},则将其丢弃。