找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 19643|回复: 10
打印 上一主题 下一主题

CAA中数据库连接错误的捕捉

[复制链接]
跳转到指定楼层
1
发表于 2007-7-19 15:26:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

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;


捕捉不到错误!!

请各位高手帮忙,谢谢!!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2007-7-19 17:16:16 | 只看该作者
关注!
3
发表于 2007-7-19 22:04:11 | 只看该作者

求助

还请大家多关照啊!谢谢!!在VC MFC程序中很容易实现的错误捕捉,在这儿就没有解决的思路了,急!!
4
发表于 2007-7-20 10:37:25 | 只看该作者
好了,问题已经解决了!谢谢大家的关注!
5
发表于 2007-7-20 16:55:38 | 只看该作者
请教,怎么解决的?
6
发表于 2007-7-20 21:32:51 | 只看该作者
在用到数据库连接的CPP文件头加:
#ifndef XHMACROS_H
#define XHMACROS_H   
#endif

然后就可以用 一般vc程序中的try  catch了(见最上面的程序)

不过此时 CATTry  CATCatch 好像又不能用了。不过这个对我现在的工程还影响不是很大。有谁知道请进一步指导!

谢谢!!
7
发表于 2007-7-20 23:06:46 | 只看该作者
可以#include "CATError.h"
然后catch( CATError &ComError )得到CATIA的ERROR.
8
发表于 2007-7-21 08:25:08 | 只看该作者

谢谢horizon

非常感谢horizon兄!以后还请多指教啊!
9
发表于 2007-7-21 21:37:26 | 只看该作者
不,别客气。还要多谢你,这个问题困扰我好久了。
10
发表于 2007-7-22 18:33:41 | 只看该作者
我很很干兴趣,楼主是否有兴趣担任caa二次开发斑竹?
https://www.cadcaecam.com/forum/thread.php?fid=42

联系邮箱 huangsteve@163.com
msn     huangsteve@163.com
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-24 21:10 , Processed in 0.037143 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

快速回复 返回顶部 返回列表