asp.net - SQL Server 2005是否将错误消息号传递回asp.net应用程序?

标签 asp.net sql-server error-handling referential-integrity

我想在执行错误查询后从SQL Server获取消息号和严重性级别信息。

例如,当用户尝试删除另一条记录所引用的行,并且级联关系为“无操作”时,我希望应用程序能够检查错误消息547(“DELETE语句与引用约束...“),并向用户返回用户友好且本地化的消息。

直接在SQL Server上运行此类查询时,将显示以下消息:

Msg 547, Level 16, State 0, Line 1
<Error message...>

在Asp.Net应用程序中,此信息是否可以在事件处理程序参数中或其他位置使用?

另外,我不认为有人知道在哪里可以找到有关SQL Server消息号的权威引用?

最佳答案

当然-检查抛出的SqlException是SQL Server上的错误。

它包含SqlError元素的集合,其中包含许多属性,包括

  • Class获取从SQL Server返回的错误的严重性级别。
  • LineNumber获取包含错误的Transact-SQL命令批处理或存储过程中的行号。
  • Message获取描述错误的文本。
  • Number获取一个数字,该数字标识错误的类型。
  • Procedure获取生成错误的存储过程或远程过程调用(RPC)的名称。
  • Server获取生成错误的SQL Server实例的名称。
  • Source获取生成错误的提供程序的名称。
  • State从SQL Server获取数字错误代码,该错误代码表示错误,警告或“未找到数据”消息。
  • 关于asp.net - SQL Server 2005是否将错误消息号传递回asp.net应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3007684/

    相关文章:

    jquery:从字符串分配事件

    asp.net - 我应该做 Win 应用程序吗?

    sql - 如果我更改 SQL Server 中现有列字段大小的字符大小,有什么缺点?

    error-handling - 如何在Odoo中调试错误消息

    Perl:如果 IPC::Run 终止,则从进程中检索输出

    c# - Psexec 在 C# 代码中返回拒绝访问错误

    c# - 给自己发500错误信息

    sql - LIKE 'x%' 有效,但 LIKE '%x' 不适用于 INT 转换为 STRING

    SQL 服务器 : String or binary data would be truncated. nvarchar

    c++ - 错误 : no matching function for call to "Queue::Queue()"