#c# #.net #sql-server
#c# #.net #sql-сервер
Вопрос:
Мое приложение .Net C # выдает это исключение во время выполнения
'Value cannot be null. (Parameter 'value')'
У меня есть журнал в базе данных SQL Server, где я храню сообщения об исключениях.
но когда я пытаюсь вставить приведенное выше сообщение об ошибке,
INSERT INTO tblApplicationError ([ErrorDesc]) VALUES('Value cannot be null. (Parameter 'value')')
это дает мне следующую ошибку
Incorrect syntax near 'value'
из-за одинарной кавычки вокруг 'value'
. Поскольку сообщение об исключении было выдано во время выполнения,
как мне вставить сообщение в DB
Комментарии:
1. Если вам просто нужно экранировать одинарную кавычку, вы должны удвоить ее,
INSERT INTO tblApplicationError ([ErrorDesc]) VALUES('Value cannot be null. (Parameter ''value'')')
2. На этот вопрос уже много раз отвечали. Используйте параметр.
3. @MaxXapi но все сообщение генерируется во время выполнения, я не могу добавить еще одну одинарную кавычку вокруг
' value'
4. Как сказал @DaleK, вы должны использовать SqlParameter, чтобы избежать этой проблемы (и это обязательная практика, кстати)
Ответ №1:
CREATE TABLE tblApplicationError(
ErrorDesc nvarchar(max)
)
INSERT INTO tblApplicationError ([ErrorDesc]) VALUES('Value cannot be null. (Parameter ''value'')')
SELECT * FROM tblApplicationError
Смотрите ссылку: https://rextester.com/SYXD8392