【发布时间】:2011-03-02 11:33:12
【问题描述】:
我正在将我们的应用程序从 BDE 迁移到 Delphi2010 中的 DBexpress。我们正在连接到 Sybase 数据库。
使用 raiseerror 消息的存储过程引发的异常已被 BDE 捕获,但 DBexpress 没有发生同样的情况。
例如,如果任何验证失败,则存储过程包含以下语句
select @msg = "无法执行编辑,因为另一个用户更改了记录"
如果@field1 @field2 raiserror 20999 @msg 返回 结束
有什么方法可以用 DB express 捕获这个异常。
还是 dbexpress 中的错误?
谢谢!
【问题讨论】:
-
我认为这不是 dbexpress 的错误,我使用 firebird sp 中引发的异常没有问题。我相信您使用的驱动程序在客户端库返回错误时未能引发适当的异常。
-
谢谢,能否请您告诉我是否有任何 Sybase 驱动程序?
-
我在 Delphi 7 中使用了 VISOCO sybase 驱动程序 - 不确定它们是否是最新的,但它们工作得很好。
标签: delphi exception-handling delphi-2010 dbexpress