我正在处理一些错误处理代码(使用 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>";
}
而且我希望能够显示实际的 SQL。数据库是 SQL Server 2008,SqlException 是System.Data.SqlClient.SqlException类型。