代码如下。 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下怎么写啊 谁有写过的告诉我一下 谢谢啦,万分感谢
{
//备份数据库。 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下怎么写啊 谁有写过的告诉我一下 谢谢啦,万分感谢
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货