//出错处理:
3127——没有找到目标表
3092——目标表已经存在
例如:
catch(const _com_error e)
{
     AfxMessageBox(e.Description());
     long errorCode=e.WCode();
     if(3127==errorCode) AfxMessageBox("表不存在");
     if(3092==errorCode) AfxMessageBox("表已经存在");
     return FALSE;

Posted on 2005-12-26 20:13 艾凡赫 阅读(1475) 评论(2)  编辑 收藏 引用 所属分类: ADO编程技术

Feedback

# re: ado 出错处理  回复  更多评论   

2006-06-30 11:25 by 爱饭盒
大部分的ADO的错误码对应的含义
( http://www.zhujiangroad.com )

除了在 Error 对象和 Errors 集合中说明的提供者错误之外,ADO 本身也将错误返回到运行时环境的异常处理机制之中。使用编程语言的错误捕获机制(如 Microsoft® Visual Basic® 中的 On Error 语句)可捕获及处理下列错误。下表将同时显示十进制和十六进制错误代码值。

常量名称 编号 说明

adErrInvalidArgument 3001
0x800A0BB9
应用程序使用的参数其类型错误、超出可接受的范围或者与其他参数冲突。

adErrNoCurrentRecord 3021
0x800A0BCD
BOF 或 EOF 为 True,或者当前记录已经删除。应用程序请求的操作需要当前记录。

adErrIllegalOperation 3219
0x800A0C93
应用程序请求的操作不允许出现在该上下文中

adErrInTransaction 3246
0x800A0CAE
在事务中应用程序无法显式关闭 Connection 对象。

adErrFeatureNotAvailable 3251
0x800A0CB3
提供者不支持应用程序请求的操作。

adErrItemNotFound 3265
0x800A0CC1
ADO 无法在对应于应用程序请求的名称或顺序引用的集合中找到对象。

adErrObjectInCollection 3367
0x800A0D27
无法追加,对象已经在集合中。

adErrObjectNotSet 3420 0x800A0D5C 应用程序引用的对象不再指向有效的对象。
adErrDataConversion 3421
0x800A0D5D
应用程序使用了不符合对当前操作的值类型。

adErrObjectClosed 3704
0x800A0E78
如果对象关闭,则不允许应用程序请求的操作。

adErrObjectOpen 3705
0x800A0E79
如果对象打开,则不允许应用程序请求的操作。

adErrProviderNotFound 3706
0x800A0E7A
ADO 找不到指定的提供者。

adErrBoundToCommand 3707
0x800A0E7B
应用程序无法用 Command 对象将 Recordset 对象的 ActiveConnection 属性更改为它的来源数据。

adErrInvalidParamInfo 3708
0x800A0E7C
应用程序错误地定义了 Parameter 对象。

adErrInvalidConnection 3709
0x800A0E7D
应用程序通过引用关闭或无效的 Connection 对象来请求对对象的操作。

# re: ado 出错处理  回复  更多评论   

2006-12-29 21:52 by
非常感谢!!!!!!!!!!

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理