|
Гибкий запрос с разными фильтрами
|
|||
---|---|---|---|
#18+
Добрый день! Создаю запрос, основной целью которого является возможность фильтрации по параметрам, понимаю, что задача классическая, но найти ничего подобного не смог. Т.е. запрос вида Код: sql 1.
Теперь вопрос - как сделать так, чтобы исключить фильтрацию по одному или нескольким элементам? Не хочется на каждый случай писать свою строку запроса: Код: sql 1.
Код: sql 1.
и т.д. Как написать универсальную строку запроса? Опытным путем определил, что в самом MS Access пропадает фильтрация по элементу, если будет запрос вида: Код: sql 1.
Но из приложения (C#) делаю следующее: 1. присваиваю параметру (переменная типа OleDBType.Integer) значение true (всё ок) 2. передаю этот параметр в запрос и... ничего не происходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 23:18 |
|
Гибкий запрос с разными фильтрами
|
|||
---|---|---|---|
#18+
wrq2017, Не уверен в синтаксисе Access авторselect * from table where (id_1=param1 OR param1 is NULL) and (id_2=param2 OR param2 is NULL) and (id_3=param3 OR param3 is NULL) and ... т.е. если параметр отбора не нужен, передаешь NULL ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2017, 00:47 |
|
Гибкий запрос с разными фильтрами
|
|||
---|---|---|---|
#18+
wrq2017присваиваю параметру (переменная типа OleDBType.Integer) значение true (всё ок). Булевое True числовой переменной??? ну-ну.... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2017, 10:01 |
|
Гибкий запрос с разными фильтрами
|
|||
---|---|---|---|
#18+
vixxa, на самом деле, как я понимаю, тип данных Object и можно присваивать что угодно. Шарп при компиляции не ругается... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2017, 10:10 |
|
Гибкий запрос с разными фильтрами
|
|||
---|---|---|---|
#18+
sereginseregin, да я видел на форуме такой подход. Засомневался, но видимо только он и будет работать. Спасибо, надо попробовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2017, 10:12 |
|
Гибкий запрос с разными фильтрами
|
|||
---|---|---|---|
#18+
wrq2017vixxa, на самом деле, как я понимаю, тип данных Object и можно присваивать что угодно. Нет, не понимаешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2017, 10:20 |
|
Гибкий запрос с разными фильтрами
|
|||
---|---|---|---|
#18+
wrq2017vixxa, на самом деле, как я понимаю, тип данных Object и можно присваивать что угодно. Шарп при компиляции не ругается... не уверен по поводу Шарпа, но сильно сомневаюсь в том, что он компилирует строки (непосредственно текст) запроса.... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2017, 10:34 |
|
Гибкий запрос с разными фильтрами
|
|||
---|---|---|---|
#18+
wrq2017, вставьте в предложение WHERE правильные критерии - и будет счастье. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2017, 10:36 |
|
Гибкий запрос с разными фильтрами
|
|||
---|---|---|---|
#18+
Всем спасибо! Тему можно считать закрытой. Способ, предложенный "sereginseregin" действительно работает. Только у меня в комбо-боксы (фильтрующие элементы на форме) к BindingSource добавляется строка [0, Все] и, соответственно, фильтр отрабатывает так как нужно по запросу вида Код: sql
... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2017, 11:30 |
|
Гибкий запрос с разными фильтрами
|
|||
---|---|---|---|
#18+
vixxa, 1. про компиляцию я имел ввиду не строки запроса, конечно, а самого приложения; 2. начальный вопрос и был про корректное формирование критериев запроса раздела WHERE :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2017, 11:33 |
|
Гибкий запрос с разными фильтрами
|
|||
---|---|---|---|
#18+
wrq2017, ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2017, 13:08 |
|
|
start [/forum/topic.php?fid=45&msg=39497153&tid=1612225]: |
0ms |
get settings: |
14ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
69ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 168ms |
0 / 0 |