我编程到现在为止,最棘手的问题,怎样能得到ado错误中文对照表.谁有,我愿再加100分!在线等待

webnumen 2002-05-27 11:36:00
同志们,我找了好久,到现在都没找到有关这方面的资料,连大名鼎鼎的李维先生,在他的著作也才那么寥寥几笔,就这么带过了,以下是他的源码:
adoErrors :=DataModule1.ADOConnection1.Errors;
ErrorString:='';
for iCount := 0 to adoErrors.Count - 1 do // Iterate
begin
adoError := adoErrors.Item[iCount];
Errorstring:=Errorstring+'Error Number : ' + IntToStr(adoError.Number);
Errorstring:=Errorstring+'Error Source : ' + adoError.Source;
Errorstring:=Errorstring+'Error Description : ' + adoError.Description;
Errorstring:=Errorstring+'Error HelpFile : ' + adoError.HelpFile;
Errorstring:=Errorstring+'Error SQLState : ' + adoError.SQLState;
Errorstring:=Errorstring+'Error NativeError : ' + IntToStr(adoError.NativeError);
end; // for
Result:=Errorstring;
但如果数据库是英文的,象sql7.0他就返回英文提示,这是我最受不了的,我还请教过
csdn的一些高手,他却给我bde方面的,但在ado里面,那些代码根本没用,请各位高手指教!!!!!!!!!!!!!!!!!!!!
...全文
61 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gmc007 2002-05-27
  • 打赏
  • 举报
回复
你需要一份MSDN,街上有D版的
如果你钱够多,建议买正版,好处多多!
newnewworm 2002-05-27
  • 打赏
  • 举报
回复
常量名称 编号 说明
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 对象来请求对对象的操作。
webnumen 2002-05-27
  • 打赏
  • 举报
回复
上面方法不行,我用的是ado+sqlserver2000根本跟上面一点错误信息关系都没有,难道大家对这个问题一点都不关注吗?????
softwing 2002-05-27
  • 打赏
  • 举报
回复
unit DbConsts;

interface

resourcestring
SInvalidFieldSize = '字段大小无效';
SInvalidFieldKind = '字段类型无效';
SInvalidFieldRegistration = '字段注册无效';
SUnknownFieldType = '字段 ''%s'' 类型未知';
SFieldNameMissing = '字段名丢失';
SDuplicateFieldName = '字段名 ''%s'' 重复';
SFieldNotFound = '未发现字段 ''%s''';
SFieldAccessError = '无法将字段 ''%s'' 作为 %s 类型存取';
SFieldValueError = '字段 ''%s'' 取值无效';
SFieldRangeError = '%g 对于字段 ''%s'' 是无效的. 允许的取值范围是从 %g 到 %g';
SInvalidIntegerValue = '''%s'' 对于字段 ''%s'' 不是有效的整数值';
SInvalidBoolValue = '''%s'' 对于字段 ''%s'' 不是有效的布尔值';
SInvalidFloatValue = '''%s'' 对于字段 ''%s'' 不是有效的浮点值';
SFieldTypeMismatch = '字段 ''%s'' 类型不匹配, 希望类型: %s, 实际类型: %s';
SFieldSizeMismatch = '字段 ''%s'' 大小不匹配, 希望大小: %d, 实际大小: %d';
SInvalidVarByteArray = '字段 ''%s'' 变量类型或大小无效';
SFieldOutOfRange = '字段 ''%s'' 取值超界';
SBCDOverflow = '(溢出)';
SFieldRequired = '字段 ''%s'' 必须赋值';
SDataSetMissing = '字段 ''%s'' 没有指定数据集';
SInvalidCalcType = '字段 ''%s'' 不能作为计算字段或查找字段';
SFieldReadOnly = '字段 ''%s'' 不能修改';
SFieldIndexError = '字段索引超界';
SNoFieldIndexes = '目前没有活动的索引';
SNotIndexField = '字段 ''%s'' 没有索引, 无法修改';
SIndexFieldMissing = '无法存取索引字段 ''%s''';
SDuplicateIndexName = '索引名重复 ''%s''';
SNoIndexForFields = '字段 ''%s'' 没有索引';
SIndexNotFound = '未发现索引 ''%s''';
SDuplicateName = '%s 中 ''%s'' 重名';
SCircularDataLink = '不允许循环的数据连接';
SLookupInfoError = '字段 ''%s'' 的查找信息不完整';
SDataSourceChange = '数据源不能修改';
SNoNestedMasterSource = '嵌套的数据集不能拥有主数据源';
SDataSetOpen = '无法在打开的数据集上执行该操作';
SNotEditing = '数据集不在修改或插入模式';
SDataSetClosed = '无法在关闭的数据集上执行该操作';
SDataSetEmpty = '无法在空数据集上执行该操作';
SDataSetReadOnly = '无法修改只读的数据集';
SNestedDataSetClass = '嵌套的数据集必须从 %s 继承';
SExprTermination = '过滤表达式不正常结束';
SExprNameError = '字段名未终止';
SExprStringError = '字符串常数未终止';
SExprInvalidChar = '无效的过滤表达式字符: ''%s''';
SExprNoLParen = '希望 ''('', 但发现了 %s';
SExprNoRParen = '希望 '')'', 但发现了 %s';
SExprNoRParenOrComma = '希望 '')'' 或 '','', 但发现了 %s';
SExprExpected = '希望表达式, 但发现了 %s';
SExprBadField = '字段 ''%s'' 不允许在过滤表达式中使用';
SExprBadNullTest = 'NULL 只允许用于 ''='' 和 ''<>''';
SExprRangeError = '常数超界';
SExprNotBoolean = '字段 ''%s'' 不是布尔类型';
SExprIncorrect = '过滤表达式形式不正确';
SExprNothing = '无';
SExprTypeMis = '表达式类型不匹配';
SExprBadScope = '该操作不能混合合计值和各记录变化的值';
SExprNoArith = '不支持过滤表达式中的算法';
SExprNotAgg = '表达式不是合计表达式';
SExprBadConst = '常数不是正确的 %s 类型';
SExprNoAggFilter = '过滤中不允许合计表达式';
SExprEmptyInList = 'IN 列表不能为空';
SInvalidKeywordUse = '关键字使用错误';
STextFalse = '假';
STextTrue = '真';
SParameterNotFound = '未发现参数 ''%s''';
SInvalidVersion = '无法载入约束参数';
SParamTooBig = '参数 ''%s'', 无法保存大于 %d 字节的数据';
SBadFieldType = '不支持字段 ''%s'' 的数据类型';
SAggActive = '合计处于活动状态时不能修改属性';
SProviderSQLNotSupported = 'SQL 不支持: %s';
SProviderExecuteNotSupported = '运行不支持: %s';
SExprNoAggOnCalcs = '字段 ''%s'' 的类型不能用于汇总计算, 使用内部计算';
SRecordChanged = '记录已由其他用户修改';

{ DBCtrls }
SFirstRecord = '第一条记录';
SPriorRecord = '前一条记录';
SNextRecord = '下一条记录';
SLastRecord = '最后一条记录';
SInsertRecord = '插入记录';
SDeleteRecord = '删除记录';
SEditRecord = '修改记录';
SPostEdit = '保存改动';
SCancelEdit = '取消改动';
SRefreshRecord = '刷新数据';
SDeleteRecordQuestion = '删除记录吗?';
SDeleteMultipleRecordsQuestion = '删除所有选中的记录吗?';
SRecordNotFound = '未发现记录';
SDataSourceFixed = '操作不允许在 DBCtrlGrid 上执行';
SNotReplicatable = '控件不允许在 DBCtrlGrid 中使用';
SPropDefByLookup = '属性已由查找字段定义了';
STooManyColumns = '表格试图显示超过256列';

{ DBLogDlg }
SRemoteLogin = '远程登录';

{ DBOleEdt }
SDataBindings = '数据绑定...';

implementation

end.

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧