Zug*_*alt 13 c# sql sqlexception
我正在处理一些错误处理代码(使用elmah),默认设置只发送错误消息.我想知道抛出错误的实际SQL(即"SELECT*FROM thisTableDoesNotExist")
这是我到目前为止:
if (e.Error.Exception is SqlException)
{
//if SQL exception try to give some extra information
SqlException sqlEx = e.Error.Exception as SqlException;
e.Mail.Body = e.Mail.Body + "<div>" +
"<h1>SQL EXCEPTION</h1>" +
"<b>Message</b>: " + sqlEx.Message +
"<br/><b>LineNumber:</b> " + sqlEx.LineNumber +
"<br/><b>Source:</b> " + sqlEx.Source +
"<br/><b>Procedure:</b> " + sqlEx.Procedure +
"</div>";
}
Run Code Online (Sandbox Code Playgroud)
我希望能够显示实际的SQL.数据库是SQL Server 2008,SqlException是System.Data.SqlClient.SqlException类型.
不可能.您需要捕获执行SQL命令的异常,然后将命令文本包含在您自己的自定义异常中.请参阅获取导致SQLException的Query/CommandText.