<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-17  評論-64  文章-79  trackbacks-1
    *********************************************************
    '* 名稱:BackupDatabase
    '* 功能:備份數據庫
    '* 控件:一個文本框和兩個按鈕(備份到和確定)
    '*********************************************************
    Public Sub BackupDatabase()
    Dim cn As New ADODB.Connection
    Dim s_path, s_dataexport As String
    s_path = App.Path
    Me.MousePointer = 11? ?'設置鼠標指針形狀
    'student1是需要備份的數據庫名稱
    s_dataexport = "backup database student1 to disk='" + CommonDialog1.FileName + "'"
    cn.Open "driver={sql server};server=" & d1 & ";database=student1;persist security info=false; userid=sa"??'數據庫連接字符串
    '這里不需要連接master數據庫,即可完成備份
    cn.BeginTrans
    cn.Execute s_dataexport
    Err.Number = 0
    If Err.Number = 0 Then
    ? ? cn.CommitTrans
    ? ? MsgBox "數據備份成功!", vbInformation, "提示"
    ? ? MsgBox "數據備份文件存放路徑:" & CommonDialog1.FileName, vbOKOnly, "提示"
    ? ? Unload Me
    Else
    ? ? cn.RollbackTrans
    ? ? MsgBox "數據備份失敗!請檢查數據庫是否正在打開!", vbCritical, "提示"
    End If
    cn.Close
    Set cn = Nothing
    Me.MousePointer = 1
    End Sub



    '*********************************************************
    '* 名稱:RestoreDataBase
    '* 功能:還原數據庫
    '* 控件:一個文本框和兩個按鈕( 打開和確定)
    '*********************************************************
    Public Sub RestoreDataBase()
    If Text1.Text = "" Then
    ? ? MsgBox "請選擇要恢復的數據文件!", vbInformation, "提示"
    ? ? Exit Sub
    Else
    ? ? ret = MsgBox("數據恢復操作將會覆蓋以前的所有數據并且覆蓋后無法恢復,您確定要進行恢復操作嗎?", vbQuestion + vbOKCancel, "提示")
    ? ? If ret = vbOK Then
    ? ?? ? Dim cn As New ADODB.Connection
    ? ?? ? Dim sn As New ADODB.Recordset
    ? ?? ? Dim s_restore As String
    ? ?? ? Me.MousePointer = 11
    ? ?? ? cn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;server=" & d1 & ";Initial Catalog=master;Data Source=127.0.0.1;user id=sa;password=" & d3 & ""
    ? ?? ? sn.Open "select??spid??from??sysprocesses??where??dbid=db_id('student1')", cn
    ? ?? ???Do While Not sn.EOF
    ? ?? ?? ? cn.Execute "kill " & sn("spid")
    ? ?? ?? ? sn.MoveNext
    ? ?? ???Loop
    ? ?? ???sn.Close
    ? ?? ???s_restore = "restore database student1 from disk='" + Trim(Text1.Text) + "'??with REPLACE"
    ? ?? ???cn.Execute s_restore
    ? ?? ?? ?'Debug.Print gs_conn_string
    ? ?? ?? ?'此時需要連接master數據庫才能完成數據恢復操作
    ? ?? ?? ?'同上student1為需要恢復的數據庫
    ? ?? ???s_restore = "restore database student1 from disk='" + Trim(Text1.Text) + "'"
    ? ?? ?? ?'text1一個用于記錄需要恢復文件的地址的textbox
    ? ?? ???cn.Execute s_restore
    ? ?? ???cn.BeginTrans
    ? ?? ???If Err.Number = 0 Then
    ? ?? ?? ?? ?cn.CommitTrans
    ? ?? ?? ?? ?MsgBox "數據恢復成功!", vbInformation, "提示"
    ? ?? ?? ?? ?Command1.Enabled = True
    ? ?? ?? ?? ?Label1.Visible = False
    ? ?? ???Else
    ? ?? ?? ?? ?cn.RollbackTrans
    ? ?? ?? ?? ?MsgBox "數據恢復失敗!", vbCritical, "提示"
    ? ?? ?? ?? ?Command1.Enabled = True
    ? ?? ???End If
    ? ?? ???cn.Close
    ? ?? ???Set cn = Nothing
    ? ?? ???Me.MousePointer = 1
    ? ? Else
    ? ?? ???Exit Sub
    ? ? End If? ?? ?? ?? ?? ?? ?? ? '''''''''''''''''''''''''''''''''''''''''
    ? ? On Error Resume Next
    ? ? Dim DBC As New DataBaseConnection
    ? ? If db.State = 1 Then
    ? ?? ? db.Close
    ? ? End If
    ? ? db.ConnectionString = DBC.SqlConnectString(d1, d2, d3)
    ? ? rs.CursorType = adOpenDynamic
    ? ? rs.CursorLocation = adUseClient
    ? ? rs.LockType = adLockOptimistic
    ? ? db.CursorLocation = adUseClient
    ? ? db.Open
    ? ? Set cmd.ActiveConnection = db
    ? ? If Err.Number Then
    ? ?? ? MsgBox Err.Description, 16 + vbOKOnly, Err.Number
    ? ?? ? Exit Sub
    ? ? End If
    ? ? db.DefaultDatabase = "student1"
    ? ? If Err.Number Then
    ? ?? ? MsgBox Err.Description, 16 + vbOKOnly, Err.Number
    ? ?? ? Exit Sub
    ? ? End If
    End If
    End Sub? ?? ?? ?? ?? ?? ?? ? '''''''''''''''''''''''''''''''''''''''''''''
    posted on 2007-01-13 21:25 飛鳥 閱讀(1437) 評論(4)  編輯  收藏 所屬分類: VB

    評論:
    # re: VB實現SQL SERVER2000數據庫備份還原 2007-08-04 23:52 | li
    Dim DBC As New DataBaseConnection 是什么?d1、d2、d3是什么?  回復  更多評論
      
    # re: VB實現SQL SERVER2000數據庫備份還原 2007-08-06 12:56 | 飛鳥
    DataBaseConnection:數據庫連接對象
    d1:主機名(服務器名)
    d2:帳號
    d3:密碼

    總之這些都是要得到連接數據庫的字符串  回復  更多評論
      
    # re: VB實現SQL SERVER2000數據庫備份還原 2007-09-04 21:58 | 令狐沖(反正)我姓令
    哥們,真是太謝謝了,只是你那個恢復數據庫的Kill的存儲過程該怎樣寫?能發一下嗎????
      回復  更多評論
      
    # re: VB實現SQL SERVER2000數據庫備份還原 2007-09-05 13:01 | 飛鳥
    kill是系統自帶,所以不需要寫  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 香蕉大伊亚洲人在线观看| 亚洲А∨精品天堂在线| 久久aa毛片免费播放嗯啊| 99精品在线免费观看| 中文字幕人成无码免费视频| 女人18特级一级毛片免费视频| 日韩免费无砖专区2020狼| 亚洲综合色成在线播放| 亚洲综合图片小说区热久久| 亚洲变态另类一区二区三区 | 免费大片在线观看网站| 亚洲区小说区激情区图片区| 91亚洲国产成人精品下载| 苍井空亚洲精品AA片在线播放| 国产日韩精品无码区免费专区国产| 久久免费观看国产99精品| 成人免费a级毛片无码网站入口| 久久精品国产亚洲Aⅴ香蕉| 亚洲乱码在线视频| 中文字幕在线免费观看视频| 在线a级毛片免费视频| 亚洲第一街区偷拍街拍| 亚洲第一区精品日韩在线播放| aaa毛片免费观看| 色拍自拍亚洲综合图区| 国产精品免费大片一区二区| 成人免费看黄20分钟| 国产天堂亚洲精品| 妻子5免费完整高清电视| 亚洲精品无码不卡在线播HE| 亚洲日韩国产一区二区三区在线 | 亚洲国产综合人成综合网站00| www免费黄色网| 久久久久久亚洲Av无码精品专口| 嫖丰满老熟妇AAAA片免费看| 特级毛片A级毛片免费播放| 成年在线网站免费观看无广告| 免费国产污网站在线观看不要卡 | 一级毛片a免费播放王色电影 | 一级毛片无遮挡免费全部| 日本特黄特黄刺激大片免费|