请问如何俘获服务器SQL语句返回的异常!!!(通过ODBC)送分!!!(100分)

  • 主题发起人 主题发起人 ddc
  • 开始时间 开始时间
D

ddc

Unregistered / Unconfirmed
GUEST, unregistred user!
各位高手:我服务器是AS400,在执行SQL语句时,我总俘获不了服务器
返回的错误!例如:
TRY
QUERY1。OPEN;
EXCEPT
ON E:EXCEPTION DO
SHOWMESSAGE(’数据库错‘)
END。
他总是现返回服务器的SQL 错误,再显示‘数据库错’
比如:先显示:‘DUPLICATION 。。。KEY。。’
再显示‘数据库错’~!
现在我希望能直接俘获‘DUPLICATION。。。KEY。。’的错误,请问如何处理!!!
 
我没用过ODBC,但是你真的确认在非调试状态下也是这样吗?
 
确定啊,我很是痛苦啊,大家帮帮忙啊
 
我也有一样的问题,希望高手出招帮忙解决一下,分数我加200
 
我也可以再加150
 
怎么我试验是正常的:

query1.SQL.Clear;
query1.sql.add('selct * from ');
TRY
query1.open;
EXCEPT
ON E:EXCEPTION DO
showmessage('SQL语句错误,错误为:'+e.message);
end;

运行显示: SQL语句错误,错误为: general Sql error ......
运行环境: D4 + SQL desktop + ODBC
 
可以把所有的数据库错误放到TApplication.OnException事件里面来处理,是完全
能俘获到你说的异常的(Delphi5)
procedure TForm1.ApplicationEvents1Exception(Sender: TObject;
E: Exception);
begin
application.messagebox('Exception!','ERROR',1);
end;
自己在上面的事件里添加判断异常类型的代码即可.
 
多人接受答案了。
 
后退
顶部