我正在添加一個輸入框到我的網站,我作爲管理員可以輸入sql select語句,我試着圍繞代碼執行select來嘗試並捕獲語法錯誤但即使這樣,當出現語法錯誤時,我的網站會轉到「應用程序錯誤/」頁面。爲什麼試着抓住不抓住Sql語法錯誤
我不明白我在做什麼錯。我正在開發Asp.net v4。
執行自定義SQL命令的代碼如下;
try
{
//edtSQL.Text = "WHRE Field='Value'"
//The Resulting SQL Command will be incorrect because of incorrect syntax
SqlDataSource1.SelectCommand = "SELECT * FROM DataTable " + edtSQL.Text;
SqlDataSource1.Select(new DataSourceSelectArguments());
}
catch(Exception ex)
{
//Bad Syntax should be caught here, but it is not. This never get called
// even when there is a syntax error.
lblQueryStatus.Text = "Error, can't execute SQL statment";
}
相反,如果顯示錯誤消息的標籤,該網站提供了一個錯誤並且去默認的站點錯誤頁面。
你能提供你的代碼,特別是你的點擊處理程序按鈕/ – Arbiter 2012-01-06 21:13:36
你確定一個異常沒有被其他地方扔?你捕捉所有的異常或只是'SqlException's? – 2012-01-06 21:13:46
請發佈您的相關代碼。你期望發生什麼? – Oded 2012-01-06 21:13:47