以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 数据库总是删除不了,提示数据库被占用! (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=78421) |
-- 作者:hdffzxf -- 发布时间:2015/12/9 0:05:00 -- 数据库总是删除不了,提示数据库被占用! \'\'\' Dim 数据库名 As String=args(0) Try Connections(全局变量系统数据源).BeginTransaction() \'开始事务 Dim cmd As new SQLCommand cmd.ConnectionName=全局变量系统数据源 cmd.CommandText = "DR OP DATA BASE " & 数据库名 cmd.ExecuteNonQuery Connections(全局变量系统数据源).Commit \'提交事务,所有操作生效 Catch ex As Exception \'如果出错 Connections(全局变量系统数据源).Rollback() \'回滚事务,撤销所有操作 End Try Dim cmd1 As new SQLCommand cmd1.connectionname=全局变量系统数据源 cmd1.CommandText ="Se lect Name FROM Master..SysDatabases ORDER BY Name" Dim dt As DataTable =cmd1.ExecuteReader() If dt.Find("Name= \'" & 数据库名 & "\'") Is Nothing Then Return True Else Return False End If
|
-- 作者:hdffzxf -- 发布时间:2015/12/9 0:06:00 -- 因为总是报错数据库被占用,所以用了try,可是数据库没有被占用呀,为何总是提示被占用呢? |
-- 作者:Hyphen -- 发布时间:2015/12/9 8:44:00 -- 先中断连接,试试 cmd.CommandText = "ALT ER DATABASE " & 数据库名 & " SET SINGLE_USER WITH ROLLBACK IMMEDIATE;DR OP DATA BASE " & 数据库名 |
-- 作者:hdffzxf -- 发布时间:2015/12/9 12:05:00 -- 谢谢!果然见效,对数据库的一些维护操作有待继续学习加强!万分感谢! |