代码如下。 void ADOConn::Backup() 

//备份数据库。 OnInitADOConn(); _bstr_t strSQL; 
CString filename,str; 
CFileDialog fileDlg(false,"bak",".bak"); 
if(IDOK == fileDlg.DoModal()) 

filename = fileDlg.GetPathName(); str.Format("backup database HrSys to disk = '%s' with init",filename); 
strSQL = (_bstr_t)str; 
AfxMessageBox(strSQL); } 
    ExecuteSQL( strSQL ); ExitConnect(); 
} void ADOConn::Restore() 

//还原数据库。 
::CoInitialize(NULL); try 

// 创建Connection对象 m_pConnection.CreateInstance(__uuidof(Connection)); // m_pConnection是自己定义的一个公有变量类型为 _ConnectionPtr m_pConnection->Open("driver={SQL Server};Server=.;  DATABASE = master;UID = sa;PWD = wgdwyh","","",adModeUnknown); 
//AfxMessageBox("数据库连接成功!"); 

// 捕捉异常 
catch(_com_error e) 

// 显示错误信息 
AfxMessageBox("数据库连接失败!"); 

_bstr_t strSQL; 
CString str,filename; 
CFileDialog fileDlg(true,"bak | (*.*)",".bak"); 
if(IDOK == fileDlg.DoModal()) 

filename = fileDlg.GetPathName(); 
str.Format("restore database HrSys from disk = '%s' with recovery",filename); 
strSQL = (_bstr_t)str; 
AfxMessageBox(strSQL); 
// BOOL bSuccess = m_pConnection->Execute(strSQL,NULL,adCmdText); 
BOOL bSuccess = ExecuteSQL(strSQL);; 
if(bSuccess) 
// AfxMessageBox("数据库成功恢复!","提示",MB_OK | MB_ICONINFORMATION); 
    AfxMessageBox("数据库成功恢复!"); 
else 
AfxMessageBox("数据库恢复失败!"); } 
} 1。错误信息。 
[Miscrosoft][ODBC SQL Sever Driver][SQL Sever]因为数据库正在使用,所以未能获得对数据库的排它访问权限。 我知道要关闭SQL连接,好象操作如下
 declare   @sql   varchar(100)   
  while   1=1   
  begin   
  select   top   1   @sql   =   'kill   '+cast(spid   as   varchar(3))   
  from     master..sysprocesses       
  where   spid   >   50   and   spid   <>   @@spid     
    
  if   @@rowcount   =   0   
      break   
  exec(@sql)  
  end这个操作在VC下怎么写啊  谁有写过的告诉我一下 谢谢啦,万分感谢