''''''''''''''
'''还原方法'''
''''''''''''''
Dim conn As New SqlConnection()
conn.ConnectionString = strPubConnection
conn.Open()
'''KILL DataBase Process
Dim cmd As New SqlCommand()
cmd.Connection = conn
cmd.CommandText = "use master"
cmd.CommandText = cmd.CommandText + " SELECT spid FROM sysprocesses,sysdatabases WHERE sysprocesses.dbid=sysdatabases.dbid AND sysdatabases.Name='" + "ShintHrmDb" + "'"
Dim dr As SqlDataReader
dr = cmd.ExecuteReader
Dim list As New ArrayList()
While dr.Read()
list.Add(dr.GetInt16(0))
End While
dr.Close()
Try
Dim i As Integer
For i = 0 To list.Count
cmd = New SqlCommand(String.Format("KILL {0}", list), conn)
cmd.ExecuteNonQuery()
''''''''''''''''''''我在次处无法通过,为什么??
Next
Catch ex As Exception
MessageBox.Show("error0000" + ex.Message)
Exit Sub
End Try
Dim cmdRT As New SqlCommand()
cmdRT.CommandType = CommandType.Text
cmdRT.Connection = conn
cmdRT.CommandText = "restore database test from disk='" + Trim(TextBox5.Text) + "'"
Try
cmdRT.ExecuteNonQuery()
MessageBox.Show("Restore successed.")
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
conn.Close()
End Try
'''还原方法'''
''''''''''''''
Dim conn As New SqlConnection()
conn.ConnectionString = strPubConnection
conn.Open()
'''KILL DataBase Process
Dim cmd As New SqlCommand()
cmd.Connection = conn
cmd.CommandText = "use master"
cmd.CommandText = cmd.CommandText + " SELECT spid FROM sysprocesses,sysdatabases WHERE sysprocesses.dbid=sysdatabases.dbid AND sysdatabases.Name='" + "ShintHrmDb" + "'"
Dim dr As SqlDataReader
dr = cmd.ExecuteReader
Dim list As New ArrayList()
While dr.Read()
list.Add(dr.GetInt16(0))
End While
dr.Close()
Try
Dim i As Integer
For i = 0 To list.Count
cmd = New SqlCommand(String.Format("KILL {0}", list), conn)
cmd.ExecuteNonQuery()
''''''''''''''''''''我在次处无法通过,为什么??
Next
Catch ex As Exception
MessageBox.Show("error0000" + ex.Message)
Exit Sub
End Try
Dim cmdRT As New SqlCommand()
cmdRT.CommandType = CommandType.Text
cmdRT.Connection = conn
cmdRT.CommandText = "restore database test from disk='" + Trim(TextBox5.Text) + "'"
Try
cmdRT.ExecuteNonQuery()
MessageBox.Show("Restore successed.")
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
conn.Close()
End Try
解决方案 »
- 未能找到类型或命名空间名称“CrystalDecisions”(是否缺少 using 指令或程序集引用?) 跪求解决啊!!!
- Winform usercontrols传值
- linq to sql 动态查询
- 求一本编程理论的书籍
- 使用了join后,Include就不启作用(ado.net entity)
- 各位大侠帮忙我看看,我获取DataGridView单元格的值,怎么为空啊?
- c# 如何在一大串的字符串中找到并反蓝指定字符(指定字符可能出现多次)?
- 大家好,我是C#初学者,高手能否提高一本好的C#书籍啊??
- C#条形码问题
- C#写程序
- 水晶报表打印消费明细单,长度不固定,可以实现吗?
- 那位仁兄做过截获打印机数据的开发, 帮忙给点意见
String.Format("KILL {0}", list)可能是这个错了或者应该是这样String.Format("KILL {0}", list[i])
CREATE PROCEDURE USP_KILLUSERS @dbname varchar(50) as
SET NOCOUNT ON
DECLARE @strSQL varchar(255)
PRINT 'Killing Users'
PRINT '--------------------'
CREATE table #tmpUsers(
spid int,
eid int,
status varchar(30),
loginname varchar(50),
hostname varchar(50),
blk int,
dbname varchar(50),
cmd varchar(30))
INSERT INTO #tmpUsers EXEC sp_who
DECLARE LoginCursor CURSOR
READ_ONLY
FOR SELECT spid,dbname FROM #tmpUsers WHERE dbname=@dbname
DECLARE @spid varchar(10)
DECLARE @dbname2 varchar(40)
OPEN LoginCursor
FETCH NEXT FROM LoginCursor INTO @spid,@dbname2
WHILE (@@fetch_status = 0)
BEGIN
PRINT 'Killing '+ @spid
SET @strSQL = 'KILL '+ @spid
EXEC (@strSQL)
FETCH NEXT FROM LoginCursor INTO @spid,@dbname2
END
CLOSE LoginCursor
DEALLOCATE LoginCursor
DROP TABLE #tmpUsers
PRINT 'DONE'
GO