Я добавляю поле ввода на свой сайт, где я, как администратор, могу вводить операторы sql select, я помещаю попытку поймать код, который выполняет выбор, чтобы попытаться поймать синтаксические ошибки, но даже с этим мой сайт переходит к «ошибка в приложении /» при синтаксической ошибке.
Я не понимаю, что я делаю неправильно. Я занимаюсь разработкой на 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";
}
Вместо этого, если на ярлыке отображается сообщение об ошибке, сайт выдает ошибку и переходит на страницу ошибок сайта по умолчанию.