Как получить имя столбца в исключении для нарушения ограничений в C #

2

У меня есть ограничения по поводу валютного поля, что отрицательное значение неприемлемо. Ограничения все работают нормально, и я получаю ошибку, когда ограничения нарушаются согласно ниже.

Не удалось обновить строку. Причина: инструкция UPDATE противоречила ограничению CHECK "CK_Product_StandardCost". Конфликт произошел в базе данных "AdventureWorksLT", в таблице "SalesLT.Product", в столбце "StandardCost". Заявление было прекращено.

Я получаю эту ошибку в блоке catch, потому что я обновляю неверные данные в таблице.

Изображение 174551

Я хочу получить имя столбца, в частности, это ограничение срабатывает. Здесь это будет: StandardCost. Есть ли способ найти имя столбца в моем коде С#?

  • 0
    вам нужно разобрать сообщение об исключении
  • 0
    @Rahul - Вы имеете в виду, что мне нужно извлечь из сообщения об исключении какую-то логику?
Показать ещё 2 комментария
Теги:
sql-server
constraints

1 ответ

1

Простая Substring с IndexOf для сообщения об исключении:

var message = ex.Message;
var column = message.Substring(message.IndexOf("column '") + 8, message.IndexOf("'", message.IndexOf("column '") + 9) - message.IndexOf("column '") - 8);    
  • 0
    это работает. Но есть ли способ получить имя столбца в стеке исключений? и нет необходимости делать такого рода манипуляции над сообщением?
  • 0
    Не то, что я знаю из.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню