老师,
真的是没有执行出来结果,麻烦您了 ,再给改改吧 ,测试了一晚上,也没有结果。
Dim datename As String=args(0)‘要重新加载的数据库
Dim path As String=args(1) ’数据库的路径
If Connections.Contains("test") Then
Connections.Delete("test")
End If
Dim s As String="Provider=SQLOLEDB.1;Password=hailun.;Persist Security Info=True;User ID=sa;Initial Catalog=master;Data Source=voyo"
Connections.Add("test", s)
'停止运行数据库
Dim cmd,cmd1,cmd2 As new SQLCommand
cmd.C
‘Dim dname As String = "test"
cmd.CommandText = Tables("表B").rows(1)("执行一次")
cmd.ExecuteNonQuery
cmd.CommandText = Tables("表B").rows(0)("执行一次")
cmd.ExecuteNonQuery
cmd.CommandText ="use master; exec StopLogin '"& datename &"'"
cmd.ExecuteNonQuery()
'卸载数据库
cmd1.C
cmd1.CommandText = "use master;EXEC sp_detach_db '"& datename &"'"
cmd1.ExecuteNonQuery()
'重新附加数据库
Try
cmd2.C
Connections("test").BeginTransaction() '开始事务
cmd2.CommandText ="use master;EXEC sp_attach_db @dbname ='"& datename &"',@filename1 ='"& path &""& datename &".mdf',@filename2 ='"& path &""& datename &"_log.ldf'"'"
cmd2.ExecuteNonQuery()
Connections("test").Commit '提交事务,所有操作生效
PopMessage("加载成功!!", "提示",PopIconEnum.ok, 4)
Catch ex As Exception '如果出错
PopMessage("请联系管理员确认数据库是否安装正确!", "提示",PopIconEnum.ok, 4)
End Try
If Connections.Contains("test") Then
Connections.Delete("test")
End If