怎么做ADO 的出错处理(50分)

  • 主题发起人 主题发起人 lan2001
  • 开始时间 开始时间
L

lan2001

Unregistered / Unconfirmed
GUEST, unregistred user!
1.用BDE时,数据库出错处理,可以通过EDBEngineError.Error[0].ErrorCode
判断具体的错误,
eKeyViol:唯一键值列数据重复
eDetailsExit:
eRequiredFieldMissing:
eForeignKey等等
用ADO时,无论是在非空字段插入空值,还是在主键列
输入重复值,在delphi这端都是EOleException,EDatabaseError,
请问我怎样像用BDE获得的错误信息那样,捕捉更为详细的异常呢?
我用SQL Server+delphi6
刚刚接触SQL Server和ADO,请不吝赐教!
2.另外,数据校验、异常处理等,您是怎么做的,放在
前端还是后台?
 
1、
通过ADOConnection.Errors.Items[0].NativeError获得错误代码
2、
最好放在前端,因为错误需要直接反馈给用户
 
Expert,能详细写吗?比如 :“唯一键值列数据重复”错误怎么捕捉?
能举例说明吗?谢谢!
 
if ADOConnection.Errors.Items[0].NativeError=-1605 then
showmessage('唯一键值列数据重复');
 
d6里对
if ADOConnection1.Errors.Items[0].NativeError=2627then
showmessage('唯一键值列数据重复');
但在bcb6里
if (ADOConnection1->Errors.Items[0]->NativeError==2627)
showmessage("唯一键值列数据重复");
却出现连接错误:
[Linker Error] Unresolved external
'System::__linkproc__ __fastcall CheckAutoResult()' referenced from
C:/BORLAND/CBUILDER6/LIB/RELEASE/VCLE.LIB|syssupp
请问为什么?我的机子同时装了d6和bcb6
 
看看李维关于ado的书吧.
 
后退
顶部