Вставка сообщения об исключении в SQL Server

#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, чтобы избежать этой проблемы (и это обязательная практика, кстати)

5. Вернемся к основам: внедрение SQL

Ответ №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