#c# #mysql #exception
#c# #mysql #исключение
Вопрос:
Я хотел бы знать, как перехватить исключение для этого сообщения об ошибке. Я попытался удалить запись из таблицы, но в таблице есть FK из другой таблицы. Заранее благодарю вас!
Комментарии:
1. проверьте пример.Сообщение. ToLower().Cotains(«оператор конфликтует со ссылочным ограничением») и выдает пользовательское сообщение об ошибке, понятное конечному пользователю.
2. Я думаю, вам нужно будет предоставить больше информации. Я предполагаю, что, исходя из контекста, вы хотите идентифицировать запись, которая имеет ограничение FK при удалении нескольких строк? В какой среде это происходит? Вы можете профилировать, чтобы увидеть, что попадает в БД, вы можете выполнить отладку, чтобы получить список
StreetIds
попыток удаления, а затем запросить таблицу FK с этими идентификаторами и т.д. Или вы имеете в виду буквально перехватывать исключение, чтобы не выполнять YSOD? С какой целью? Чего вы надеетесь достичь, а не показывать эту страницу с ошибкой?
Ответ №1:
Попробуйте приведенный ниже код:
try
{
//Your code block to delete the record.
}
catch(Exception ex)
{
if (ex.Message.ToLower().Contains("statement conflicted with the reference constraint"))
{
//Show custom error message as "need to delete parent value before delete this record."
}
}
Комментарии:
1. Спасибо @Balagurunathan, но запрос получен из sqldatasource, используемого в gridview.