Как вставить динамический запрос в таблицу с помощью c # - PullRequest
0 голосов
/ 09 мая 2019

Мне нужно вставить мой динамический запрос, который я генерирую и сохраняю, в таблицу базы данных sql-сервера, но без условия, где оно работает нормально, а с тем, где условие дает ошибку, пожалуйста, любой может помочь мне в этом.

INSERT INTO [dbo].[tablename] ([DataQuery],[DataQueryName],[EditedDate],[LastUsedDate],[UserId])
 VALUES ('SELECT * from tablename WHERE tablename.UID < '10' AND tablename.status = 'Active' ORDER BY Id'
       ,'aa',GETDATE(),GETDATE(),'1541')

Ответы [ 2 ]

2 голосов
/ 09 мая 2019

Вы должны экранировать одинарные кавычки с одинарными кавычками в своем выражении SQL:

INSERT INTO [dbo].[tablename] ([DataQuery],[DataQueryName],[EditedDate],[LastUsedDate],[UserId])
 VALUES ('SELECT * from tablename WHERE tablename.UID < ''10'' AND tablename.status = ''Active'' ORDER BY Id'
       ,'aa',GETDATE(),GETDATE(),'1541')
0 голосов
/ 09 мая 2019

Может случиться так, что одиночные кавычки в предложении WHERE должны быть экранированы.Попробуйте заменить одинарные кавычки в запросе на \ ', чтобы избежать кавычки.Пример:

INSERT INTO [dbo].[tablename]
([DataQuery],[DataQueryName],[EditedDate],[LastUsedDate],[UserId])
 VALUES ('SELECT * from tablename WHERE tablename.UID < \'10\' AND tablename.status = \'Active\' ORDER BY Id'
       ,'aa',GETDATE(),GETDATE(),'1541')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...