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

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

Вернуться   Форум программистов > C/C++ программирование > C/C++ Базы данных
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2018, 23:43   #1
Rusya15937
Пользователь
 
Регистрация: 05.06.2018
Сообщений: 13
Восклицание Фильтрация по диапазону через ADOQuery

Помогите пожалуйста, сроки на программу горят, нужна фильтрация по диапазону через ADOQuery
Вот код
Form1->ADOQuery1->Close();
Form1->ADOQuery1->SQL->Clear();
Form1->ADOQuery1->SQL->Add("Select * from Дома; WHERE Квадратура LIKE'"+RzEdit2->Text+"' and '"+RzEdit11->Text+"'");
Form1->ADOQuery1->Open();

При фильтрации выдает только первое введенное значение, помогите с кодом пожалуйста
Rusya15937 вне форума Ответить с цитированием
Старый 05.06.2018, 23:57   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

1. Поскольку у Вас используется AND - поиск происходит по соответствию двум введённым значениям, а не по диапазону между ними

2. LIKE применим только к строкам для поиска по подстроке, а квадратура у Вас какого типа в базе?

3. Для поиска по числовому диапазону (в том числе и диапазону дат) используется BETWEEN
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 06.06.2018, 05:28   #3
Rusya15937
Пользователь
 
Регистрация: 05.06.2018
Сообщений: 13
По умолчанию

А что вместо and использовать?
Rusya15937 вне форума Ответить с цитированием
Старый 06.06.2018, 05:32   #4
Rusya15937
Пользователь
 
Регистрация: 05.06.2018
Сообщений: 13
По умолчанию

А все, с этим разобрался
Еще такой вопрос, можно ли делать фильтрацию, по сделанной фильтрации?
Rusya15937 вне форума Ответить с цитированием
Старый 06.06.2018, 05:38   #5
Rusya15937
Пользователь
 
Регистрация: 05.06.2018
Сообщений: 13
По умолчанию

Если да, то как правильно построить код, если можете, покажите код
Rusya15937 вне форума Ответить с цитированием
Старый 06.06.2018, 07:10   #6
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Пример:

Код:
SELECT A, B, C FROM 
(SELECT A, B, C FROM TABLE WHERE A BETWEEN 1 AND 5)
WHERE B BETWEEN 2 AND 3
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 06.06.2018, 08:16   #7
Rusya15937
Пользователь
 
Регистрация: 05.06.2018
Сообщений: 13
По умолчанию

A и B понятно, а C что такое?
Rusya15937 вне форума Ответить с цитированием
Старый 06.06.2018, 08:39   #8
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Сообщение от Rusya15937 Посмотреть сообщение
A и B понятно, а C что такое?
Названия полей. Можно было с таким же успехом написать FIELD1, FIELD2, FIELD3 - суть примера не в А, Б, Ц
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 06.06.2018, 09:10   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

А можно и просто без вложенности

Код:
SELECT A, B, C 
  FROM TABLE 
  WHERE A BETWEEN 1 AND 5 AND 
        B BETWEEN 2 AND 3
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 06.06.2018, 12:56   #10
Rusya15937
Пользователь
 
Регистрация: 05.06.2018
Сообщений: 13
По умолчанию

Хорошо, спасибо
еще такой вопрос
можно организовать это все так, чтобы двойная фильтрация происходила только по желанию пользователь, например он в диапазон вбивает квадратуру, фильтрация выводит результат, и он только потом хочет провести фильтрацию по другому полю
по выданному результату
Rusya15937 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi. Фильтрация по диапазону дат. Droz Помощь студентам 4 08.04.2016 16:54
Фильтрация в ADOQuery Janger Общие вопросы Delphi 6 13.08.2015 11:59
Фильтрация по диапазону xsaroo БД в Delphi 4 05.06.2013 06:01
Фильтрация данных по диапазону даты? sctr84 БД в Delphi 2 05.03.2012 08:55
Фильтрация по диапазону. D.O.G БД в Delphi 12 18.08.2010 10:02