2012-01-27 2 views
1

Есть ли способ получить набор параметров от SqlCommand, когда CommandType = Text?SqlCommand (текст CommandType) извлекает набор параметров

Например:

string MyDinamicSql = @"SELECT * FROM USERS where USERName = @Param1 and [email protected]"; 
SqlCommand comand = connection.CreateCommand(); 
comand.CommandText = MyDinamicSql; 
comand.CommandType = System.Data.CommandType.Text; 

//Do something for fill comand.Parameters from MyDinamicSql... 

Я хочу способ получить коллекцию параметров с [@ Param1, @ Param2] ... Я не знаю SQL запросов (они являются динамическими), и я хочу чтобы получить параметры для моего приложения, чтобы создать их в качестве элементов управления вводом.

Я не могу сделать это с помощью SqlCommandBuilder.DeriveParameters(command), поскольку он работает только с хранимыми процедурами.

Спасибо!

+0

Как генерируются строки SQL? Создаются ли они из кода или они исходят от ваших пользователей? –

+0

Они были написаны без места для хранения имени параметра ...: -/Они пришли от пользователей, а мое приложение не знает параметры запроса. –

+0

В delphi у меня было что-то вроде FetchParams (на ClientDataSet), когда его синтаксический анализ обрабатывал sql и делал это. Но в C# я не нашел ничего подобного. –

ответ

2

Нет - пока SQL Server не проверит эту команду, это всего лишь строка.

+0

Хорошо, есть ли способ заставить sql-сервер анализировать мой текст команды, чтобы получить набор параметров? –

+0

SQL Server даже не попробует, если вы не дадите ему параметры, извините :( – egrunin

Смежные вопросы