Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.03.2015, 19:43   #1
kkasady
Пользователь
 
Регистрация: 12.05.2014
Сообщений: 14
По умолчанию фильтрация бд

MN LN SK
am a8 f2
am a8 f2
am a8 f2+
am a4 f2
int xx xx

combobox1 - am, int
combobox2 - a4, a8, xx
combobox3 - f2, f2+, xx

делаю фильтрацию по полю MN.
Код:
proc tform combobox1change
SELECT * FROM db2.db WHERE MN="'+ComboBox1.Text+'"
в комбобоксе1 выбираю am. получается следующая таблица.
MN LN SK
am a8 f2
am a8 f2
am a8 f2+
am a4 f2

дальше фильтрую по LN.
Код:
proc tform combobox2change
SELECT * FROM db2.db WHERE LN="'+ComboBox2.Text+'"
в комбобоксе2 выбираю a8.
MN LN SK
am a8 f2
am a8 f2
am a8 f2+

дальше фильтрую по SK.
Код:
proc tform combobox3change
SELECT * FROM db2.db WHERE SK="'+ComboBox3.Text+'"
в комбобоксе3 выбираю f2. и хотелось бы чтобы выводило вот это.
MN LN SK
am a8 f2
am a8 f2

но выводится.
MN LN SK
am a8 f2
am a8 f2
am a4 f2
т.е фильтрация по LN нарушается.

как сделать чтобы фильтрация происходила по отфильтрованному набору, а не по исходному.
kkasady вне форума Ответить с цитированием
Старый 21.03.2015, 20:01   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Добавить нужное условие
where ... and ....
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 21.03.2015, 20:01   #3
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от kkasady
фильтрация по LN нарушается.
Код:
SELECT * FROM db2.db WHERE (LN="'+ComboBox2.Text+'") AND (SK="'+ComboBox3.Text+'")
Использование больше 1 условия отбора во WHERE, по идее, должно решить Вашу проблему./*Опоздал*/
А, вообще, формирование SQL запроса конкатенацией не самая удачная идея. Лучше используйте параметризованные запросы.

Последний раз редактировалось Streletz; 21.03.2015 в 20:16.
Streletz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фильтрация в БД (С++) mylto C/C++ Базы данных 1 16.11.2013 00:51
Фильтрация delfin07 БД в Delphi 0 04.01.2013 12:20
Фильтрация rule-z C# (си шарп) 0 16.08.2012 13:38
Фильтрация Rasl18 БД в Delphi 1 23.04.2010 23:18
Фильтрация Felonalex БД в Delphi 4 24.10.2008 20:09