2011-03-02 88 views
0

我正在将我们的应用程序从BDE迁移到Delphi2010中的DBexpress。我们正在连接到Sybase数据库。使用DB express进行异常处理

存储过程使用raiseerror消息引发的异常被BDE捕获,但DBexpress没有发生。

如存储过程包含下面的语句,如果任何验证失败

选择@msg = @如果FIELD1 <>

@域2 “不能因为其他用户已经记录进行编辑” raiserror 20999 @msg return end

有什么办法可以用DB express来捕捉这个异常。

还是dbexpress中的错误?

谢谢!

+0

我不认为这是dbExpress的一个bug,我使用的是没有问题的火鸟SP引发异常。我相信当客户端库返回错误时,您正在使用的驱动程序无法引发适当的异常。 – 2011-03-07 13:47:45

+0

谢谢,请你让我知道是否有任何Sybase驱动程序? – SSE 2011-03-09 17:27:19

+0

我在Delphi 7中使用了VISOCO sybase驱动程序 - 不知道它们是否是最新的,但它们工作得很好。 – MDV2000 2011-03-25 20:38:45

回答