エラー処理コード (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です。