想用delphi代码来分离数据库,可是总是出错  ADOConnect1.Connected:=false;
  ADOQuery1.SQL.Clear;
  sqlstr:='exec sp_detach_db '+dataName ;
  ADOQuery1.SQL.Add(sqlstr);
  adoquery1.ExecSQL;错误提示,无法分离,因为数据库正在使用
我要如何处理?如何彻底断开数据库连接?谢谢了

解决方案 »

  1.   

    Create Proc KillSPID
    As
    DECLARE ProcessID CURSOR
       FOR
       Select Spid From Master..SysProcesses Where Dbid=db_id('Test') 
    OPEN ProcessID
    DECLARE @Spid sysname
    FETCH NEXT FROM ProcessID INTO @Spid
    WHILE (@@FETCH_STATUS <> -1)
    BEGIN   EXEC ('Kill ' + @Spid)
       FETCH NEXT FROM ProcessID INTO @Spid
    END
    CLOSE  ProcessID
    DEALLOCATE ProcessID
      

  2.   

    liangpei2008(逍遥叹),您好,您这段代码用delphi中来实现可以吗?如何修改为delphi语言?呵呵,谢谢了
      

  3.   

    请问liangpei2008(逍遥叹),您那段代码如何用delphi来写?谢谢了
      

  4.   

    提示:不能用kill来取消自己的进程,应该怎么修改?