如何在vb.net中备份ms access数据库?

时间:2009-12-28 11:45:35

标签: vb.net ms-access

如何在vb.net中备份ms access数据库? 我们要为某个公司制作一个系统,但我们的老师根本不会教我们,请帮忙。关于如何做的任何想法?

3 个答案:

答案 0 :(得分:8)

备份Access-Database(或任何单文件数据库)的最简单方法是简单地复制文件。但请注意Exception,因为文件可能已被锁定。

System.IO.File.Copy( _
    "C:\Your\original\database.mdb", _
    String.Format("D:\BackUps\{0:yyyyMMdd}.mdb", Date.Today) _
)

此外,您可以允许用户指定应将文件复制到的位置和文件名。这是一个相当简单的方法,只需使用System.Windows.Forms控件OpenFileDialogSaveFileDialog

Using openDialog As New OpenFileDialog()
    openDialog.CheckFileExists = True
    openDialog.CheckPathExists = True
    openDialog.Filter = "Microsoft Access Database (*.mdb)|*.mdb"
    openDialog.RestoreDirectory = True

    Using saveDialog As New SaveFileDialog()
        saveDialog.CheckFileExists = False
        saveDialog.CheckPathExists = True
        saveDialog.FileName = Date.Now.ToString("yyyyMMdd") & ".mdb"
        saveDialog.Filter = "Microsoft Access Database (*.mdb)|*.mdb"
        saveDialog.RestoreDirectory = True

        If openDialog.ShowDialog() = Windows.Forms.DialogResult.OK AndAlso saveDialog.ShowDialog() = Windows.Forms.DialogResult.OK Then
            If File.Exists(openDialog.FileName) Then
                File.Copy(openDialog.FileName, saveDialog.FileName)
            End If
        End If
    End Using
End Using

如果您想知道那些RestoreDirectory属性正在做什么:这两个对话框正在将应用程序的当前目录移动到指定的路径,如果您假设当前目录仍未更改,则可能会产生有趣的效果。为防止出现这种情况,我们设置了此属性。

答案 1 :(得分:0)

答案 2 :(得分:0)

If File.Exists(openDialog.FileName) Then
                File.Copy(openDialog.FileName, saveDialog.FileName)
            End If I GOT ERROR ON THIS