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

📄 frmbackup.frm

📁 一个用VB写的财务软件源码
💻 FRM
字号:
VERSION 5.00
Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "Comdlg32.ocx"
Begin VB.Form Frmbackup 
   BorderStyle     =   3  'Fixed Dialog
   Caption         =   "数据备份"
   ClientHeight    =   2895
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   4770
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   2895
   ScaleWidth      =   4770
   ShowInTaskbar   =   0   'False
   StartUpPosition =   2  '屏幕中心
   Begin VB.CommandButton cmdOk 
      Caption         =   "保存设置(&S)"
      Height          =   345
      Left            =   330
      TabIndex        =   15
      Top             =   2430
      Width           =   1110
   End
   Begin VB.CommandButton cmdQuit 
      Caption         =   " 返回(&Q)"
      Height          =   345
      Left            =   3420
      TabIndex        =   14
      Top             =   2460
      Width           =   1125
   End
   Begin VB.TextBox Txttemp 
      Height          =   270
      Left            =   -1320
      TabIndex        =   13
      Top             =   2160
      Visible         =   0   'False
      Width           =   975
   End
   Begin MSComDlg.CommonDialog CommonOpen 
      Left            =   4230
      Top             =   1500
      _ExtentX        =   847
      _ExtentY        =   847
      _Version        =   393216
      DialogTitle     =   "打开"
      Filter          =   "*.dmp"
      InitDir         =   "c:\"
   End
   Begin VB.Frame Frame2 
      Height          =   855
      Left            =   120
      TabIndex        =   10
      Top             =   1320
      Width           =   4575
      Begin VB.CommandButton CmdBrowse 
         Caption         =   "浏览"
         Height          =   300
         Left            =   3720
         TabIndex        =   12
         Top             =   360
         Width           =   735
      End
      Begin VB.TextBox TxtFileName 
         Height          =   270
         Left            =   1080
         TabIndex        =   3
         Top             =   360
         Width           =   2535
      End
      Begin VB.Label Label4 
         Caption         =   "备份文件名"
         Height          =   375
         Left            =   120
         TabIndex        =   11
         Top             =   360
         Width           =   1335
      End
   End
   Begin VB.Frame Frame1 
      Caption         =   "用户信息"
      Height          =   1335
      Left            =   120
      TabIndex        =   5
      Top             =   0
      Width           =   4575
      Begin VB.TextBox Text5 
         Height          =   270
         Left            =   1080
         TabIndex        =   9
         Text            =   "EXPDAT.DMP"
         Top             =   1440
         Width           =   2295
      End
      Begin VB.TextBox TxtServerName 
         Height          =   270
         Left            =   960
         TabIndex        =   2
         Top             =   960
         Width           =   3495
      End
      Begin VB.TextBox TxtPassword 
         Height          =   270
         IMEMode         =   3  'DISABLE
         Left            =   960
         PasswordChar    =   "*"
         TabIndex        =   1
         Top             =   600
         Width           =   3495
      End
      Begin VB.TextBox TxtUserID 
         Height          =   270
         Left            =   960
         TabIndex        =   0
         Top             =   240
         Width           =   3495
      End
      Begin VB.Label Label3 
         AutoSize        =   -1  'True
         Caption         =   "服务器名"
         Height          =   180
         Left            =   120
         TabIndex        =   8
         Top             =   960
         Width           =   720
      End
      Begin VB.Label Label2 
         AutoSize        =   -1  'True
         Caption         =   "用户密码"
         Height          =   180
         Left            =   120
         TabIndex        =   7
         Top             =   600
         Width           =   720
      End
      Begin VB.Label Label1 
         AutoSize        =   -1  'True
         Caption         =   "用户名"
         Height          =   180
         Left            =   120
         TabIndex        =   6
         Top             =   240
         Width           =   540
      End
   End
   Begin VB.CommandButton cmdBackup 
      Caption         =   "备份(&B)"
      Height          =   345
      Left            =   1830
      TabIndex        =   4
      Top             =   2430
      Width           =   1125
   End
End
Attribute VB_Name = "Frmbackup"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private Declare Function SearchPath Lib "kernel32" Alias "SearchPathA" (ByVal lpPath As String, ByVal lpFileName As String, ByVal lpExtension As String, ByVal nBufferLength As Long, ByVal lpBuffer As String, ByVal lpFilePart As String) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Function GetDiskFreeSpace Lib "kernel32" Alias "GetDiskFreeSpaceA" _
    (ByVal lpRootPathName As String, lpSectorsPerCluster As Long, _
    lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, _
    lpTotalNumberOfClusters As Long) As Long

'''''''''''''''''''''''''''''''20010926 end by wb''''''''''''''''''''''''
    '标准格式:"c:\orawin95\bin\exp80.exe qjybuser2/qjyb2@ora8 file=c:\w.dmp"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''



Private Sub CmdBrowse_Click()
    Dim i As Integer
    
    CommonOpen.filename = TxtFileName
    CommonOpen.InitDir = "c:\"
    CommonOpen.ShowOpen
    
    
    If Trim(CommonOpen.filename) = "" Then
    Else
    i = InStr(1, CommonOpen.filename, ".", vbTextCompare)
        If g_FLAT = "ORACLE" Then
            If Mid(CommonOpen.filename, i + 1, 3) <> "dmp" And Mid(CommonOpen.filename, i + 1, 3) <> "DMP" Then
               TxtFileName = Mid(CommonOpen.filename, 1, i) & "dmp"
            Else
               TxtFileName = CommonOpen.filename
            End If
        Else
            If Mid(CommonOpen.filename, i + 1, 3) <> "dat" And Mid(CommonOpen.filename, i + 1, 3) <> "DAT" Then
               TxtFileName = Mid(CommonOpen.filename, 1, i) & "dmp"
            Else
               TxtFileName = CommonOpen.filename
            End If

        End If
    End If
End Sub

Private Sub cmdQuit_Click()
Unload Me
End Sub

Public Sub cmdBackup_Click()
    '磁盘信息
    Dim lSectorsPerCluster As Long
    Dim lBytesPerSector As Long
    Dim lNumberOfFreeClusters As Long
    Dim lTotalNumberOfClusters As Long
    Dim lFreeBytes As Long
    
    TxtFileName.text = Trim(TxtFileName.text)
    Dim i
    If TxtUserID = "" Then
       MsgBox "用户名不能为空!", vbOKOnly, "提示"
       TxtUserID.SetFocus
       Exit Sub
    End If
    
    If TxtServerName = "" Then
       MsgBox "数据库名不能为空!", vbOKOnly, "提示"
       TxtServerName.SetFocus
       Exit Sub
    End If
    
    If TxtFileName = "" Then
       MsgBox "文件名不能为空!", vbOKOnly, "提示"
       TxtServerName.SetFocus
       Exit Sub
    Else
       i = InStr(1, TxtFileName.text, ".", vbTextCompare)
       If i = 0 Then
         If g_FLAT = "ORACLE" Then
          MsgBox "文件扩展名必须为.dmp!", vbOKOnly, "提示"
         Else
          MsgBox "文件扩展名必须为.dat!", vbOKOnly, "提示"
         End If
          TxtFileName.SetFocus
          TxtFileName.SelStart = 0
          TxtFileName.SelLength = Len(TxtFileName.text)
          Exit Sub
       Else
        If g_FLAT = "ORACLE" Then
          If Mid(TxtFileName.text, i + 1, 3) <> "dmp" And Mid(TxtFileName.text, i + 1, 3) <> "DMP" Then
             MsgBox "文件扩展名必须为.dmp!", vbOKOnly, "提示"
             TxtFileName.SetFocus
             TxtFileName.SelStart = 0
             TxtFileName.SelLength = Len(TxtFileName.text)
             Exit Sub
           End If
        Else
          If Mid(TxtFileName.text, i + 1, 3) <> "dat" And Mid(TxtFileName.text, i + 1, 3) <> "DAT" Then
             MsgBox "文件扩展名必须为.dat!", vbOKOnly, "提示"
             TxtFileName.SetFocus
             TxtFileName.SelStart = 0
             TxtFileName.SelLength = Len(TxtFileName.text)
             Exit Sub
           End If
        End If
       End If
    End If
    
    
  Dim filename, FilePart As String
  Dim FilePath As String * 100
  Dim ReturnValue, BufferLength As Long
  Dim pidNotepad As Long
  Dim m_sPath As String
If g_FLAT = "ORACLE" Then
    filename = "exp80.exe"
    
    BufferLength = 1024
    
    ReturnValue = SearchPath(vbNullString, filename, vbNullString, BufferLength, FilePath, FilePart)
    
    If ReturnValue = 0 Then
      
      MsgBox "exp80.exe应用程序丢失!", vbCritical, "出错"
      Exit Sub
    End If
End If
  'If CheckUser(Userinform.Userid, "a05") Then  '参数说明: 用户代码,模块代码
     Dim s As String * 200
     Dim t As String
     Dim f As New FileSystemObject
     Dim m_bFlag As Boolean
     
     Txttemp.text = FilePath
     
     s = Trim(Txttemp.text) & " " & Trim(TxtUserID.text) & "/" & Trim(TxtPassword.text) & "@" & Trim(TxtServerName.text) & " file=" & Trim(TxtFileName.text)
     
     t = Trim(TxtFileName.text)
     '当前磁盘还有多少剩余空间
     GetDiskFreeSpace Left(t, 2), lSectorsPerCluster, lBytesPerSector, _
         lNumberOfFreeClusters, lTotalNumberOfClusters
    
     '如果剩余空间约300M左右,则提示
     If lNumberOfFreeClusters <= 75000 Then
             MsgBox "磁盘空间不足,请删除不需要的备份文件!", vbInformation
             Exit Sub
         
     End If

     
     If Dir(t) <> "" Then
        If MsgBox("备份文件" & Trim(TxtFileName.text) & "已存在,要覆盖吗?", vbOKCancel, "提示") = vbOK Then
           m_bFlag = True
        Else
           TxtFileName.SetFocus
           Exit Sub
        End If
     End If
      
    On Error GoTo ErrMessageSec
    Dim cmd As ADODB.Command
    Set cmd = New ADODB.Command
    cmd.ActiveConnection = gloSys.cnnSys
    cmd.CommandType = adCmdText
    If m_bFlag Then
       f.DeleteFile (t)
    End If
    If g_FLAT = "ORACLE" Then
        pidNotepad = Shell(s, vbMaximizedFocus)
    Else
    '    cmd.CommandText = "EXEC sp_addumpdevice 'disk', 'ykcw', '" & Trim(TxtFileName.text) & "'"
    '    cmd.Execute
        cmd.CommandText = "BACKUP DATABASE " & TxtServerName.text & " TO disk='" & Trim(TxtFileName.text) & "'"
        cmd.Execute
   End If
    Sleep (5000) '延时,等待文件创建
    
    
    If Dir(t) <> "" Then
       MsgBox "备份完成!", vbInformation, "提示"
    Else
        MsgBox "备份出错,请检查用户信息、备份路径(DOS目录格式)或网络!", vbCritical, "提示"
        TxtUserID.SetFocus
        Exit Sub
    End If
     
    
'End If
Exit Sub

ErrMessageSec:
MsgBox "正在备份过程中!应用程序运行出错!", vbInformation, "提示"
End Sub

Private Sub cmdOk_Click()
 Dim i As Integer
    TxtFileName.text = Trim(TxtFileName.text)
    If TxtUserID = "" Then
       MsgBox "用户名不能为空!", vbOKOnly, "提示"
       TxtUserID.SetFocus
       Exit Sub
    End If
    
    If TxtServerName = "" Then
       MsgBox "数据库名不能为空!", vbOKOnly, "提示"
       TxtServerName.SetFocus
       Exit Sub
    End If
    
    If TxtFileName = "" Then
       MsgBox "文件名不能为空!", vbOKOnly, "提示"
       TxtServerName.SetFocus
       Exit Sub
    Else
       i = InStr(1, TxtFileName.text, ".", vbTextCompare)
       If i = 0 Then
         If g_FLAT = "ORACLE" Then
          MsgBox "文件扩展名必须为.dmp!", vbOKOnly, "提示"
         Else
          MsgBox "文件扩展名必须为.dat!", vbOKOnly, "提示"
         End If
          TxtFileName.SetFocus
          TxtFileName.SelStart = 0
          TxtFileName.SelLength = Len(TxtFileName.text)
          Exit Sub
       Else
        If g_FLAT = "ORACLE" Then
          If Mid(TxtFileName.text, i + 1, 3) <> "dmp" And Mid(TxtFileName.text, i + 1, 3) <> "DMP" Then
             MsgBox "文件扩展名必须为.dmp!", vbOKOnly, "提示"
             TxtFileName.SetFocus
             TxtFileName.SelStart = 0
             TxtFileName.SelLength = Len(TxtFileName.text)
             Exit Sub
           End If
        Else
          If Mid(TxtFileName.text, i + 1, 3) <> "dat" And Mid(TxtFileName.text, i + 1, 3) <> "DAT" Then
             MsgBox "文件扩展名必须为.dat!", vbOKOnly, "提示"
             TxtFileName.SetFocus
             TxtFileName.SelStart = 0
             TxtFileName.SelLength = Len(TxtFileName.text)
             Exit Sub
           End If
        End If
       End If
    End If

 If g_FLAT = "ORACLE" Then
 SaveSetting App.Title, "Backup", "OracleUserId", Trim(TxtUserID.text)
 SaveSetting App.Title, "Backup", "OraclePassword", Trim(TxtPassword.text)
 SaveSetting App.Title, "Backup", "OracleServerDSN", Trim(TxtServerName.text)
 Else
 SaveSetting App.Title, "Backup", "SQLUserId", Trim(TxtUserID.text)
 SaveSetting App.Title, "Backup", "SQLPassword", Trim(TxtPassword.text)
 SaveSetting App.Title, "Backup", "SQLDatabase", Trim(TxtServerName.text)
 End If
 SaveSetting App.Title, "Backup", "Path", Trim$(Left(TxtFileName.text, InStrRev(TxtFileName.text, "\")))
End Sub

Private Sub Form_Load()
Me.Icon = frmSystem.Icon
If g_FLAT = "SQL" Then
    Label3.Caption = "数据库:"
    TxtUserID.text = GetSetting(App.Title, "Backup", "SQLUserId", "")
    TxtPassword.text = GetSetting(App.Title, "Backup", "SQLPassword", "")
    TxtServerName.text = GetSetting(App.Title, "Backup", "SQLDatabase", "ora8")
    TxtFileName.text = GetSetting(App.Title, "Backup", "Path", "") & "expdat" & Format(Date, "yyyymmdd") & ".dat"
Else
    TxtUserID.text = GetSetting(App.Title, "Backup", "OracleUserId", "")
    TxtPassword.text = GetSetting(App.Title, "Backup", "OraclePassword", "")
    TxtServerName.text = GetSetting(App.Title, "Backup", "OracleServerDSN", "ora8")
   TxtFileName.text = GetSetting(App.Title, "Backup", "Path", "") & "expdat" & Format(Date, "yyyymmdd") & ".dmp"
End If
End Sub

⌨️ 快捷键说明

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