Mat*_*att 0 sql-server asp.net error-handling referential-integrity
我想在执行错误查询时从SQL Server获取消息号和严重性级别信息.
例如,当用户尝试删除另一条记录引用的行,并且级联关系为"无操作"时,我希望应用程序能够检查错误消息547("DELETE语句与REFERENCE constraint ...")并向用户返回用户友好和本地化的消息.
在SQL Server上直接运行此类查询时,将打印以下消息:
Msg 547, Level 16, State 0, Line 1
<Error message...>
Run Code Online (Sandbox Code Playgroud)
在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获取表示错误,警告或"未找到数据"消息的数字错误代码. 归档时间: |
|
查看次数: |
815 次 |
最近记录: |