怎么用vc调用SQL Server写的存储过程

 我来答
就烦条0o
2017-04-15 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46494
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
HRESULT hr; ///设定一个句柄
_ConnectionPtr pConnection; ///一个连接指针
CString strSQLConnect = ((CManagerSys1App*)AfxGetApp())->m_strConnectMaster;
try
{
hr = pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
hr = pConnection->Open((_bstr_t)strSQLConnect,"","",adModeUnknown); ///连接数据
_variant_t RecordsAffected;
CString strDBName = ((CManagerSys1App*)AfxGetApp())->m_strDBName;
CString strKill;
strKill.Format("exec p_killspid '%s'",strDBName); //kill all connected link
pConnection->Execute((_bstr_t)strKill,&RecordsAffected,adCmdText);
CString strBackup;
strBackup.Format("restore database %s from disk='",strDBName); //restore
strBackup += "C:\\temp.bak";
strBackup += "' with replace";
pConnection->Execute((_bstr_t)strBackup,&RecordsAffected,adCmdText);
}
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format("全系统数据恢复失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
///关闭数据库连接
if((pConnection != NULL))
{
if(pConnection->State)
pConnection->Close();
pConnection = NULL;
}
return;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式