使用VB.net实现sql数据库的备份与恢复代码

使用VB.net实现sql数据库的备份与恢复代码,第1张

Private Sub Button _Click(ByVal sender As System Object ByVal e As System EventArgs) Handles Button Click 备份数据库 BACKUP DATABASE Test TO DISK= C:\Backup WITH Format Dim cn As SqlConnection Dim cm As SqlCommand cn = getDB() cm = New SqlCommand( BACKUP DATABASE JXbase TO DISK= C:\Backup WITH Format cn) cn Open() cm ExecuteNonQuery() MsgBox( 备份成功 ) cn Close()

End Sub

恢复 Private Sub Button _Click(ByVal sender As System Object ByVal e As System EventArgs) Handles Button Click Dim cn As New SqlConnection Dim cn As New SqlConnection Dim mydr As SqlDataReader Dim str As String

Dim tmpConnectionString As String = Data Source=JJKInitial Catalog=masterIntegrated Security=True cn ConnectionString = tmpConnectionString cn ConnectionString = tmpConnectionString cn Open() cn Open() Dim cm As SqlCommand = New SqlCommand( select spid from master sysprocesses where dbid=db_id( JXbase ) cn) mydr = cm ExecuteReader()

Dim cm As SqlCommand = New SqlCommand() cm Connection = cn

While (mydr Read()) 杀死进程

str = kill &mydr( spid ) ToString() cm CommandText = str cm CommandType = CommandType Text Application DoEvents() cm ExecuteNonQuery() 杀进程 End While mydr Close() cm = New SqlCommand( RESTORE DATABASE JXbase FROM DISK= C:\Backup cn) 恢复备份 cm ExecuteNonQuery() MsgBox( 恢复成功成功 ) cn Close() cn Close()

lishixinzhi/Article/program/net/201311/12901

那要看您备份什么了,想要达到什么样的目的了。如果是单单的拷贝文件,使用一楼的filecopy 即可。如果您是想搜索指定的文件类型并且可以自动定时备份。您可以碰陆考虑以下代码

dim Type as string ‘定义您需要备份的文件类型。

Type =“*.doc*.xls" ’这里我们以微软的Word和Excel为例。

shell "cmd /k for /r c:\ %i in ("薯携 &Type &") do copy %i c:\备份目录\ ",0

如果您想让备份在后台运行请使用。

shell "cmd /c for /r c:\ %i in (" &Type &") do copy %i c:\备份目录\ "数吵伏,0

你的事件用得不正确,你不是要在关闭工作簿时才选择是否备份吗,下面是按你的要求写的代码,供你参郑野考瞎拍:(在代码是尽量不用On Error Resume Next,否则代码有问题喊神喊都查不出来)

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Pa$, Str1$

Pa = "E:\我的备份\"

If Dir(Pa, vbDirectory) = "" Then MkDir Pa: SetAttr Pa, 2  '创建文件夹并隐藏

Str1 = ThisWorkbook.Name

ThisWorkbook.Save '先保存自身文件

Application.DisplayAlerts = False '覆盖备份文件时不提示

If MsgBox("是否备份?", vbYesNo) = vbYes Then _

ThisWorkbook.SaveAs Pa & Left(Str1, InStr(Str1, ".") - 1) & "备份" & Format(Date, "yyyy-mm-dd ") & ".xlsm"

Application.DisplayAlerts = True

End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8229243.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-14
下一篇2023-04-14

发表评论

登录后才能评论

评论列表(0条)

    保存