У меня возникли некоторые проблемы с управлением необязательными параметрами.
Пример.
- Передать строку на страницу:
Код: Выделить всё
string query = "SELECT * FROM Table WHERE Field1=@P1 AND field2=@P2";
- Создать веб-элемент управления для каждого параметра
Код: Выделить всё
TextBox P1 = new TextBox();
P1.ID = "P1";
...
TextBox P2 = new TextBox();
P2.ID = "P2";
...
PanelParameters.Controls.Add(P1);
PanelParameters.Controls.Add(P1);
- При щелчке мыши передайте значение каждого параметра в SqlCommand как параметры:
Код: Выделить всё
SqlCommand cmd = new SqlCommand(query, conn);
cmd.Parameters.AddWithValue("@P1", P1.Text);
cmd.Parameters.AddWithValue("@P2", P2.Text);
- Вот здесь все в порядке!
Если P2 был необязательным, пользователь не мог его скомпилировать, и в этом случае я не хочу устанавливать P2 = NULL (устанавливая значение параметр DbNull.Value), но мне бы хотелось, чтобы P2 исчез из запроса SQL.
Можете ли вы мне помочь?
Обратите внимание, что я не могу редактировать полученный запрос, поскольку он содержит очень сложные операторы SQL.>
Подробнее здесь: https://stackoverflow.com/questions/159 ... ere-clause
Мобильная версия