CommonDialog1.CancelError = True
On Error GoTo errcancel
Dim nFile As String '文件名
Dim nlen, nflen As Double '文名长度
With CommonDialog1
.Filter = "*.sql|*.sql"
.InitDir = App.Path + "\backup"
.ShowOpen
nFile = .FileName
End With
Dim cn As New ADODB.Connection
cn.ConnectionString = sqlhf
cn.CursorLocation = adUseClient
cn.Open
Dim sql As String
sql = "restore database hd_csdata from disk='" & nFile & "'"
Screen.MousePointer = vbHourglass
'*********************************
Dim sysj0, sysj1, sysj2, sysj3, sysj4, sysj5 As Double
Dim sysj6 As String
If Mid(Time, 2, 1) <> ":" Then
sysj0 = Val(Mid(Time, 1, 2)) * 3600: sysj1 = str(Mid(Time, 4, 2)) * 60: sysj2 = Val(Mid(Time, 7, 2))
Else
sysj0 = Val(Mid(Time, 1, 1)) * 3600: sysj1 = Val(Mid(Time, 3, 2)) * 60: sysj2 = Val(Mid(Time, 6, 2))
End If
'*********************************
cn.Execute (sql)
Screen.MousePointer = 0
'*********************************
If Mid(Time, 2, 1) <> ":" Then
sysj4 = Val(Mid(Time, 1, 2)) * 3600 + Val(Mid(Time, 4, 2)) * 60 + Val(Mid(Time, 7, 2))
sysj5 = Val(sysj0) + Val(sysj1) + Val(sysj2)
sysj6 = Val(sysj4) - Val(sysj5)
Else
sysj4 = Val(Mid(Time, 1, 1)) * 3600 + Val(Mid(Time, 3, 2)) * 60 + Val(Mid(Time, 6, 2))
sysj5 = Val(sysj0) + Val(sysj1) + Val(sysj2)
sysj6 = Val(sysj4) - Val(sysj5)
End If
sysj0 = str(Int(Val(sysj6) / 3600))
sysj1 = str(Int(Val(Val(sysj6) - (Int(Val(sysj6) / 3600)) * 3600) / 60))
sysj2 = Val(sysj6) Mod 60
sysj6 = str(sysj0) + ":" + str(sysj1) + ":" + str(sysj2)
'*********************************
cn.Close
'**************************************************还原数据时更新注册表
Dim cn2 As New ADODB.Connection
If Text2.Text <> "" Then
cn2.ConnectionString = "Provider=SQLOLEDB.1;Password=" & Text3.Text & ";Persist Security Info=True;User ID=" & Text2.Text & ";Initial Catalog=hd_csdata;Data Source=" & Text1.Text & ""
cn2.Open
sqlst = "Provider=SQLOLEDB.1;password=" & Text3.Text & ";Persist Security Info=true;User ID=" & Text2.Text & ";Initial Catalog=hd_csdata;Data Source=" & Text1.Text & ""
sqlhf = "Provider=SQLOLEDB.1;password=" & Text3.Text & ";Persist Security Info=true;User ID=" & Text2.Text & ";Initial Catalog=master;Data Source=" & Text1.Text & ""
Else
cn2.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=hd_csdata;Data Source=" & sev & ""
cn2.Open
sqlst = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=hd_csdata;Data Source=" & sev & ""
sqlhf = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=master;Data Source=" & sev & ""
End If
Dim sql2 As String
Dim rs2 As New ADODB.Recordset
rs2.CursorLocation = 3
sql2 = "select * from sys_base"
rs2.Open sql2, cn2, adOpenDynamic, adLockBatchOptimistic, adCmdText
Call savestring(HKEY_CURRENT_USER, "Software\ODBC\Password", "String", rs2.Fields(0))
cn2.Close
MsgBox "数据恢复成功!" + Chr(13) + Chr(13) + "所用时间:" + sysj6 + " ", vbInformation, "数据恢复"
Command4.Enabled = False
'**************************************************还原数据时更新注册表
If False Then
errcancel: Screen.MousePointer = 0: MsgBox "数据恢复失败!", vbCritical, "数据恢复"
End If'=================================================就到 cn.Execute (sql) 这句时出的错,谢谢大家帮忙看看,谢谢各位大姐大哥们!!
On Error GoTo errcancel
Dim nFile As String '文件名
Dim nlen, nflen As Double '文名长度
With CommonDialog1
.Filter = "*.sql|*.sql"
.InitDir = App.Path + "\backup"
.ShowOpen
nFile = .FileName
End With
Dim cn As New ADODB.Connection
cn.ConnectionString = sqlhf
cn.CursorLocation = adUseClient
cn.Open
Dim sql As String
sql = "restore database hd_csdata from disk='" & nFile & "'"
Screen.MousePointer = vbHourglass
'*********************************
Dim sysj0, sysj1, sysj2, sysj3, sysj4, sysj5 As Double
Dim sysj6 As String
If Mid(Time, 2, 1) <> ":" Then
sysj0 = Val(Mid(Time, 1, 2)) * 3600: sysj1 = str(Mid(Time, 4, 2)) * 60: sysj2 = Val(Mid(Time, 7, 2))
Else
sysj0 = Val(Mid(Time, 1, 1)) * 3600: sysj1 = Val(Mid(Time, 3, 2)) * 60: sysj2 = Val(Mid(Time, 6, 2))
End If
'*********************************
cn.Execute (sql)
Screen.MousePointer = 0
'*********************************
If Mid(Time, 2, 1) <> ":" Then
sysj4 = Val(Mid(Time, 1, 2)) * 3600 + Val(Mid(Time, 4, 2)) * 60 + Val(Mid(Time, 7, 2))
sysj5 = Val(sysj0) + Val(sysj1) + Val(sysj2)
sysj6 = Val(sysj4) - Val(sysj5)
Else
sysj4 = Val(Mid(Time, 1, 1)) * 3600 + Val(Mid(Time, 3, 2)) * 60 + Val(Mid(Time, 6, 2))
sysj5 = Val(sysj0) + Val(sysj1) + Val(sysj2)
sysj6 = Val(sysj4) - Val(sysj5)
End If
sysj0 = str(Int(Val(sysj6) / 3600))
sysj1 = str(Int(Val(Val(sysj6) - (Int(Val(sysj6) / 3600)) * 3600) / 60))
sysj2 = Val(sysj6) Mod 60
sysj6 = str(sysj0) + ":" + str(sysj1) + ":" + str(sysj2)
'*********************************
cn.Close
'**************************************************还原数据时更新注册表
Dim cn2 As New ADODB.Connection
If Text2.Text <> "" Then
cn2.ConnectionString = "Provider=SQLOLEDB.1;Password=" & Text3.Text & ";Persist Security Info=True;User ID=" & Text2.Text & ";Initial Catalog=hd_csdata;Data Source=" & Text1.Text & ""
cn2.Open
sqlst = "Provider=SQLOLEDB.1;password=" & Text3.Text & ";Persist Security Info=true;User ID=" & Text2.Text & ";Initial Catalog=hd_csdata;Data Source=" & Text1.Text & ""
sqlhf = "Provider=SQLOLEDB.1;password=" & Text3.Text & ";Persist Security Info=true;User ID=" & Text2.Text & ";Initial Catalog=master;Data Source=" & Text1.Text & ""
Else
cn2.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=hd_csdata;Data Source=" & sev & ""
cn2.Open
sqlst = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=hd_csdata;Data Source=" & sev & ""
sqlhf = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=master;Data Source=" & sev & ""
End If
Dim sql2 As String
Dim rs2 As New ADODB.Recordset
rs2.CursorLocation = 3
sql2 = "select * from sys_base"
rs2.Open sql2, cn2, adOpenDynamic, adLockBatchOptimistic, adCmdText
Call savestring(HKEY_CURRENT_USER, "Software\ODBC\Password", "String", rs2.Fields(0))
cn2.Close
MsgBox "数据恢复成功!" + Chr(13) + Chr(13) + "所用时间:" + sysj6 + " ", vbInformation, "数据恢复"
Command4.Enabled = False
'**************************************************还原数据时更新注册表
If False Then
errcancel: Screen.MousePointer = 0: MsgBox "数据恢复失败!", vbCritical, "数据恢复"
End If'=================================================就到 cn.Execute (sql) 这句时出的错,谢谢大家帮忙看看,谢谢各位大姐大哥们!!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货