Можно ли легко преобразовать SqlCommand в строку T-SQL? - PullRequest
4 голосов
/ 30 марта 2010

У меня есть заполненный объект SqlCommand, содержащий текст команды и параметры различных типов баз данных вместе с их значениями. Что мне нужно, так это сценарий T-SQL, который я мог бы просто выполнить, который имел бы тот же эффект, что и вызов метода ExecuteNonQuery для объекта команды.

Есть ли простой способ сделать такой "дамп скрипта" или мне нужно вручную создать такой скрипт из объекта команды?

1 Ответ

4 голосов
/ 30 марта 2010

Не думаю, что вы можете получить полный SQL-оператор непосредственно из объекта SqlCommand. Если вы зарегистрируете все команды, отправленные на ваш сервер sql, вы увидите, что текст команды, который передается, совпадает с текстом команды вашего объекта SqlCommand. Значения параметров передаются отдельно.

Так что я думаю, что ваш единственный вариант - создать текст команды самостоятельно. Это довольно легко на самом деле; Вы начинаете с CommandText SqlCommand и перебираете коллекцию Parameters, заменяя заполнители параметров значениями (экранированных). Это должно привести к полному запросу sql, который делает то, что вы после.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...