我有一个strored Proc,当使用特定的参数设置调用时,返回以下消息 -
Msg 4104, Level 16, State 1, Line 1
The multi-part identifier "abc" could not be bound.
Msg 4104, Level 16, State 1, Line 1
The multi-part identifier "pqr" could not be bound.
Msg 4104, Level 16, State 1, Line 1
The multi-part identifier "xyz" could not be bound.
Msg 207, Level 16, State 1, Line 1
Invalid column name 'Name'.
Msg 50000, Level 16, State 1, Procedure ErrorHandlerProc, Line 218
Error Processing Request [ApplicationError]
我对最后一行错误感兴趣,因为那是向用户显示的那一行
Error Processing Request [ApplicationError]
但是当我使用SqlExceltion时,message属性只包含第一行,即
The multi-part identifier "abc" could not be bound.
如何获取完整错误并向用户显示。
请注意,我无法更改存储过程。
更新
SqlException.Errors
集合只包含一个条目,该条目是sp返回的第一行。 InnerException
为空,其他属性(如Data
或StackTrace
)不会返回所需信息。
答案 0 :(得分:1)
检查Errors
的{{1}} - 属性。在那里,您应该找到SqlException
对象的列表,其中包含来自底层提供商的所有消息。