c# - 如何将 SQL 异常抛回给调用的 asp.net 应用程序?

标签 c# asp.net sql sql-server ado.net

我目前有一个 ASP.NET 应用程序,它通过存储过程处理对数据库的所有调用,我们处理应用程序端的所有 SQL 事务。

我的问题是我需要在我的存储过程中抛出一个异常,这样它就可以在应用程序中被捕获并且事务可以回滚。我目前已经尝试过 RAISERROR 和 THROW,但它们只返回消息,实际上不会导致异常。

如有任何帮助,我们将不胜感激。

谢谢

最佳答案

存储过程中 RAISERROR() 调用的严重级别必须大于或等于 16,以便在调用端生成 SqlException。以下是将生成 SqlExceptionRAISERROR() 示例:

RAISERROR ('Error raised in TRY block.', -- Message text.
           16, -- Severity.
           1 -- State.
           );

关于c# - 如何将 SQL 异常抛回给调用的 asp.net 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20224467/

相关文章:

c# - 使用泛型类型和继承时在 REST API 上序列化 XML 时出错

c# - 生成链接时如何忽略当前路由值?

asp.net - 点网核心 : Object reference not set to an instance of an object

sql - 原始 SQL 到 Laravel 查询

sql - 用 lag(N) 值填充 NULL 列值

php - MySQL联合查询,按2个变量排序

c# - 如何在一段时间后取消异步任务

c# - 构造函数是否可以包含确定调用哪个其他构造函数覆盖的逻辑?

c# - 有没有办法知道当前网络角色包含多少个实例?

asp.net - 如何使用ajax重置asp.net session ?