powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Изменение SQL-запроса в коде приложения.
11 сообщений из 11, страница 1 из 1
Изменение SQL-запроса в коде приложения.
    #38468338
Kuks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день всем! Есть приложение-клиент MS SQL 2008. В конструкторе запросов адаптера таблице создан запрос вида:
Код: sql
1.
Select * From TableName Where (Column1 LIKE @Column1 Or Column1 Like '' Or Column1 Is Null) And (Column2 LIKE @Column2 Or Column2 Like '' Or Column2 Is Null)



Теперь вопрос, в зависимости от выбора пользователя, как преобразовать запрос в вид, например:

Код: sql
1.
Select * From TableName Where (Column1 LIKE @Column1 Or Column1 Like '' Or Column1 Is Null) And (Column2 LIKE @Column2)


или

Код: sql
1.
Select * From TableName Where (Column1 LIKE @Column1) And (Column2 LIKE @Column2 Or Column2 Like '' Or Column2 Is Null)


?
...
Рейтинг: 0 / 0
Изменение SQL-запроса в коде приложения.
    #38468416
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kuks,

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
if (uTakVot)
{
    sqlCommand.Text = "Select * From TableName Where (Column1 LIKE @Column1 Or Column1 Like '' Or Column1 Is Null) And (Column2 LIKE @Column2)";
}
else
{
    sqlCommand.Text = "Select * From TableName Where (Column1 LIKE @Column1) And (Column2 LIKE @Column2 Or Column2 Like '' Or Column2 Is Null)";
}
...
Рейтинг: 0 / 0
Изменение SQL-запроса в коде приложения.
    #38468418
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вместо sqlCommand - adapter.SelectCommand
...
Рейтинг: 0 / 0
Изменение SQL-запроса в коде приложения.
    #38468521
Kuks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дак это понятно, я бы так и сделал. Но дело в том, что в блоке Where.... используется 8 параметров, и собирать такую конструкцию тяжеловато будет с помощью if....
...
Рейтинг: 0 / 0
Изменение SQL-запроса в коде приложения.
    #38468527
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
соседнюю тему читай
...
Рейтинг: 0 / 0
Изменение SQL-запроса в коде приложения.
    #38468544
Kuks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ок, спасибо, буду думать.....
...
Рейтинг: 0 / 0
Изменение SQL-запроса в коде приложения.
    #38468622
Kuks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот интересная мысль в соседней ветке, если поиск производится по большому числу полей, зачем городить большой запрос, не проще ли формировать текст запроса динамически, и прописывать where только по тем полям, которые нужны?
...
Рейтинг: 0 / 0
Изменение SQL-запроса в коде приложения.
    #38468632
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KuksДак это понятно, я бы так и сделал. Но дело в том, что в блоке Where.... используется 8 параметров, и собирать такую конструкцию тяжеловато будет с помощью if....

если поиск производится по большому числу полей, зачем городить большой запрос, не проще ли формировать текст запроса динамически, и прописывать where только по тем полям, которые нужны?


Вам не угодишь!
...
Рейтинг: 0 / 0
Изменение SQL-запроса в коде приложения.
    #38468640
Kuks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я понимаю ваш справедливый сарказм, но у меня запрос выполняется в отдельном потоке, и как в потоке вызывать метод Fill с переменным число параметров я пока не представляю. Если я правильно понимаю, то TableAdapter.Fill будет иметь разное число аргументов, тогда как быть?
...
Рейтинг: 0 / 0
Изменение SQL-запроса в коде приложения.
    #38468667
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у TableAdapter.Fill не может быть разного количества параметров. Перед запуском потока правильно сформируй adapter.SelectCommand и задай ему параметры, в чем проблема?
...
Рейтинг: 0 / 0
Изменение SQL-запроса в коде приложения.
    #38468690
Kuks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понял, сужу туплю уже.......
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Изменение SQL-запроса в коде приложения.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]