|
马上注册登录,享用更多网站功能!
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
CAA中数据库运用了ADO技术进行SQL server 2000数据源的联接,如果数据服务正常启动则没有问题:
HRESULT hr;
hr=m_pConnection.CreateInstance(__uuidof(Connection));
m_pConnection->ConnectionTimeout = 20;///设置超时时间为5秒
hr=m_pConnection->Open("Data Source=ComponentLib;UID=saWD=1;","","",adModeUnknown);
如果数据服务没有打开,则执行到
hr=m_pConnection->Open("Data Source=ComponentLib;UID=saWD=1;","","",adModeUnknown);
时死机,且后面语句无法再执行,所以无法根据hr的值后面再做相应处理。
用VC中的一般方法:
try
{
m_pConnection->ConnectionTimeout = 20;///设置超时时间为5秒
hr=m_pConnection->Open("Data Source=ComponentLib;UID=saWD=1;","","",adModeUnknown);
}
catch( _com_error & a_pComError )
{
…. // 错误处理
return E_UNEXPECTED;
}
编译不过!!
用CAA中的语句:
CATTry
{
m_pConnection->ConnectionTimeout = 20;///设置超时时间为5秒
hr=m_pConnection->Open("Data Source=ComponentLib;UID=saWD=1;","","",adModeUnknown);
}
CATCatch(CATError,pError)
{
//HRESULT rc = CATReturnError(new BuildErr("error022"));
//AfxMessageBox(errormessage);///显示错误信息
CATDlgNotify * pPromptBox = new CATDlgNotify((CATApplicationFrame::GetApplicationFrame())->GetMainWindow(), "提示", CATDlgNfyInformation);
pPromptBox->SetText("数据源联接失败,请检查您的数据服务是否正常!!");
pPromptBox->SetVisibility(CATDlgShow);
return;
}
CATEndTry;
捕捉不到错误!!
请各位高手帮忙,谢谢!! |
|