⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frm_backup.frm

📁 VB中如何把SQL SERVER 中的备份和还原窗体调用出来,用户可以不用点击SQL中的备份和还原窗体
💻 FRM
字号:
VERSION 5.00
Begin VB.Form Frm_backup 
   Caption         =   "Form1"
   ClientHeight    =   3195
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   4680
   LinkTopic       =   "Form1"
   ScaleHeight     =   3195
   ScaleWidth      =   4680
   StartUpPosition =   2  '屏幕中心
   Begin VB.CommandButton cmdrestore 
      Caption         =   "还原"
      Height          =   375
      Left            =   2400
      TabIndex        =   1
      Top             =   1560
      Width           =   1215
   End
   Begin VB.CommandButton cmdbackup 
      Caption         =   "备份"
      Height          =   375
      Left            =   840
      TabIndex        =   0
      Top             =   1560
      Width           =   1215
   End
End
Attribute VB_Name = "Frm_backup"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False

Private Sub sDoDB(sType As String, sServerName As String, sDB As String, sUid As String, sPwd As String) '备份或还原数据库

    Dim objSQLNS As New SQLNS.SQLNamespace 'SQLNS命名空间
    Dim hItem As Long '句柄
    Dim objSQLNSObj As SQLNS.SQLNamespaceObject 'SQLNS命名空间对象
    Dim objSQLNSCom As SQLNS.SQLNamespaceCommand 'SQLNS命名空间命令对象
    Dim sTemp As String '临时字符串
    
    On Error Resume Next
    
    Err.Clear
    Screen.MousePointer = vbHourglass
    objSQLNS.Initialize sType & "数据库", SQLNSRootType_Database, "Server=" & sServerName & ";UID=" & sUid & ";PWD=" & sPwd & ";Database=" & sDB & ";", hWnd
    Screen.MousePointer = vbDefault
    
    If Err.Number <> 0 Then
        MsgBox "连接SQL Server失败!", vbCritical, "数据库"
        Exit Sub
    End If
    
    Err.Clear
    Screen.MousePointer = vbHourglass
    '得到根节点的句柄
    hItem = objSQLNS.GetRootItem
    '生成SQLNS命名空间对象
    Set objSQLNSObj = objSQLNS.GetSQLNamespaceObject(hItem)
    Screen.MousePointer = vbDefault
    If Err.Number <> 0 Then
        MsgBox "生成生成SQLNS命名空间对象失败!", vbCritical, "数据库"
        Exit Sub
    End If
    
    '显示备份或还原界面
    If sType = "备份" Then
        Set objSQLNSCom = objSQLNSObj.Commands(10)
        objSQLNSCom.Execute hWnd, SQLNamespace_PreferModal
        
    Else
        goCn.Execute "use master" '将数据库切换到master
        Set objSQLNSCom = objSQLNSObj.Commands(11)
        objSQLNSCom.Execute hWnd, SQLNamespace_PreferModal
        goCn.Execute "use " & gsDB '将数据库切换回来
    End If
    
    '不管是备份数据库,还是还原数据库,都要清除数据库日志
    goCn.Execute "backup log " & gsDB & " with no_log"
    
End Sub
Private Sub cmdbackup_Click()
    Call sDoDB("备份", "(local)", "pubs", "sa", "sa")
End Sub

Private Sub cmdrestore_Click()
    Call sDoDB("还原", "(local)", "pubs", "sa", "sa")
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -