jqgrid error Статус: "ошибка". Код ошибки: 500 при добавлении более значимого сообщения

У меня есть jqgrid, который отлично работает. Однако в моей базе данных есть ограничение, и мне нужно предоставить более значимый метод проверки при добавлении.

Проблема заключается в том, что при отправке диалогового окна отображается ошибка: Состояние ошибки: "ошибка". Код ошибки: 500

Я бы предпочел, чтобы он отображал фактическую ошибку, вызванную исключением, генерируемым при сохранении:

Нарушение ограничения UNIQUE KEY 'UKC_InvoiceId_ActivityId'. Невозможно вставить дубликат ключа в объект 'dbo.InvoiceLine'. Дубликат значения ключа (11, 1). Заявление было прекращено.

Кто-нибудь может сказать мне, как этого добиться?

1 ответ

Решение

Если вы используете ASP.NET, то вы можете использовать try {...} catch (SqlException ex) {...} заблокировать код, который реализует вставку строки. Вы можете проанализировать ex.Procedure, ex.Server, ex.LineNumber, ex.Message значения внутри SqlException и сгенерировать (сгенерировать) еще одно исключение с более читаемым сообщением. Вы можете использовать в сообщении об ошибке тексты, набранные пользователем, и объяснить, какие данные пользователь должен изменить, чтобы решить проблему.

Другие вопросы по тегам