我们在 Delphi 10 中使用 Unidac Stored Proc 组件和 Sybase 12.5 驱动程序
在 Sybase proc 中,我们提出如下错误,我发现它正在重新运行,但没有显示错误消息。这在 Unidac 或任何其他问题中不起作用吗?
if @number <> null
begin
select @errmsg = 'Already active for location '
raiserror 20001 @errmsg
return 1
end
我在delphi中执行storedproc,如下所示
try
ExecProc;
except on E:Exception do
begin
ErrorMsg(EDatabaseError(ExceptObject).Message,0);
Exit;
end;
但我们仍然无法捕捉到异常。
即使我尝试过如下。
try
UniStoredProc.StoredProcName := 'test';
UniStoredProc.ExecProc;
except
on E:EUniError do
ShowMessage(E.Message);
end
相同的代码在 Sybase 15 客户端库中运行良好
我们正在使用 Sybase 15 服务器和 Sybase 12.5 客户端库连接到服务器,这会不会有问题?之前我们将 BDE 与 Sybase 12.5 客户端库一起使用,所以我们没有遇到任何问题,现在我们发现 unidac 存在这个问题