可能重複:
Obtain the Query/CommandText that caused a SQLException如何獲得在C#中導致SqlException的實際SQL?
我的一些錯誤處理代碼的工作(使用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。
您可能還會在引用的答案中包含代碼 – 2011-01-28 22:47:13
這是否使其成爲該問題的重複? – 2011-01-28 22:51:49