Sql = "select * from sysdevices where name='device_bak'" '查询系统中是否存在名字为device_bak的转储设备 Set Rs = Conn.Execute(Sql) If Not Rs.EOF Then FoundDevice = True '已经存在 Else FoundDevice = False '不存在 End If Rs.Close
If FoundDevice = False Then '如果不存在这个转储设备则建立一个 Sql = "EXEC sp_addumpdevice 'disk','device_bak','e:\a2.dat'" Conn.Execute (Sql) End If
, ByVal sDataBaseName$ _
, Optional ByVal sIsAddBackup As Boolean = False _
) As String
Dim iDb As ADODB.Connection
Dim iConcStr$, iSql$, iReturn$
On Error GoTo lbErr
'创建对象
Set iDb = New ADODB.Connection
'连接数据库服务器,根据你的情况修改连接字符串
iDb.ConnectionString = "Provider=SQLOLEDB.1;Password=" & funEncrypt & ";Persist Security Info=True;User ID=Hyper;Initial Catalog=HyperDB;Data Source=" & Left(sName, iRep)
iDb.Open
'生成数据库备份语句
iSql = "backup database [" & sDataBaseName & "]" & vbCrLf & _
"to disk='" & sBackUpfileName & "'" & vbCrLf & _
"with description='" & "HyperDB-backup at:" & Date & "(" & Time & ")'" & vbCrLf & _
IIf(sIsAddBackup, "", ",init")
iDb.Execute iSql
iReturn = "数据库备份完成!"
GoTo lbExit
lbErr:
iReturn = Error
lbExit:
fBackupDatabase_a = iReturn
End Function
而且我到现在还不明白,我们的老师教的都是控件方法来实现的
如:adodc1.****=******
这种形式但现在好像流行这种形式:dim rs as new****
....
....
rs.***=****
rs.***=****我不知道有什么分别,但觉得还是老师教的方法比较容易理解些
On Error Resume Next
Adodc1.RecordSource = "BACKUP DATABASE [123] To DISK='c:\123.bak'"
Adodc1.Refresh
, ByVal sDataBaseName$ _
, Optional ByVal sIsAddBackup As Boolean = False _
) As String
Dim Conn As adodb.Connection
Dim Rs As adodb.Recordset
Dim ConcStr$, Sql$, iReturn$
Dim FoundDevice As Boolean
On Error GoTo lbErr
'创建对象
Set Conn = New adodb.Connection
Set Rs = New adodb.Recordset
'连接数据库服务器,根据你的情况修改连接字符串
'iConcStr = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Data Source=zj"
ConcStr = "Provider=SQLOLEDB;server=(local);uid=sa;pwd=dirlxy;DATABASE=master;"
Conn.Open ConcStr
Sql = "select * from sysdevices where name='device_bak'" '查询系统中是否存在名字为device_bak的转储设备
Set Rs = Conn.Execute(Sql)
If Not Rs.EOF Then
FoundDevice = True '已经存在
Else
FoundDevice = False '不存在
End If
Rs.Close
If FoundDevice = False Then '如果不存在这个转储设备则建立一个
Sql = "EXEC sp_addumpdevice 'disk','device_bak','e:\a2.dat'"
Conn.Execute (Sql)
End If
'生成数据库备份语句
Sql = "BACKUP DATABASE " & sDataBaseName & " TO device_bak"
Conn.Execute Sql
fBackupDatabase_a = ""
Exit Function
lbErr:
fBackupDatabase_a = Error
End Function