Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
16 / 0 / 0
Регистрация: 05.03.2024
Сообщений: 24

Фильтр в БД координат по оси X, Y

08.12.2024, 16:03. Показов 3164. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Можно ли создать фильтр поиска координат в интервале от и до. Сейчас пытаюсь понять как работает фильтр на одном отрезке Х, вот код:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
procedure TForm1.CheckBox3Click(Sender: TObject);
var
  minValue, maxValue: Double; // Изменяем тип на Double для работы с десятичными дробями
begin
  if CheckBox3.Checked then
  begin
    try
      minValue := StrToFloat(Edit1.Text); // Используем StrToFloat для десятичных чисел
      maxValue := StrToFloat(Edit2.Text);
      ADOQuery1.Filter := '[КоординатыX] >= ' + FloatToStr(minValue) + ' AND [КоординатыX] <= ' + FloatToStr(maxValue); // Используем FloatToStr для преобразования обратно в строку
      ADOQuery1.Filtered := True;
    except
      on E: EConvertError do
      begin
        ShowMessage('Неверный формат числа в интервале');
        CheckBox3.Checked := False;
      end;
    end;
  end
  else
    ADOQuery1.Filtered := False;
end;
Только этот код не фильтрует от отрицательного числа, не фильтрует от нуля, и дробные только например: от 10,02 до 10,57, а от 9,34 до 10,61 нет и DBGrid становится пустым (хотя в базе данных числа на таком отрезке есть).
Затея такая: при вводе в Edit(Edit1 и Edit2 - от и до поле X, Edit3 и Edit4 - от и до поле Y) координат и активации чекбакса или кнопки в DBGrid отфильтровывались координаты в БД в интервале.
В темах порылся похожего не нашел(может был не внимателен).

Добавлено через 9 минут
Я так понимаю нужно формат правильный указать и переменные X,Y
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.12.2024, 16:03
Ответы с готовыми решениями:

гистограмма. как сделать чтоб мои заданные значения шли по оси ординат, соответствуя данным по оси координат?
гистограмму создаю. по оси координат выводятся данные&quot;значение&quot;. а как сделать чтоб по оси ординат выводились их &quot;соответствия&quot;...

Оси координат
Помогите нарисовать оси координат с масштабированием :help::help::help:

Оси координат
Привет всем. Продолжаю я мучать графику на Визуале С++. Задание состоит в следующем: разработать программу для построения графика функции...

23
Модератор
 Аватар для D1973
9955 / 6491 / 2461
Регистрация: 21.01.2014
Сообщений: 27,501
Записей в блоге: 3
15.12.2024, 14:17
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от 1333Иван Посмотреть сообщение
При использования INNER JOIN в DBGrid дублируются записи.
Не может быть. Или записи дублируются и в Акцесс тоже, или Вы переносите не тот запрос: движок-то один, как он может себя по разному вести?
0
 Аватар для krapotkin
6854 / 4680 / 1465
Регистрация: 14.04.2014
Сообщений: 20,686
Записей в блоге: 21
16.12.2024, 00:14
Лучший ответ Сообщение было отмечено northener как решение

Решение

когда уже эту дохлую лошадь перестанут пришпоривать
query.Filter - ну это же гибрид ужа и ежа
условия "как" в sql, с ХЗ степенью похожести, но выполняет клиент

даже если вы любите сначала скачать весь гугл.ком к себе на комп, а потом искать в нем самостоятельно,
ну же не отсохнут руки у вас просто ЛЮБЫЕ условия написать в обработчике OnFilterRecord
с припрыгом, присвистом и чем угодно, на обычном паскале...

я даже помогать не буду, разбирать как это овно работает
0
130 / 109 / 22
Регистрация: 23.05.2015
Сообщений: 736
16.12.2024, 10:07
1333Иван, А без query.Filter прото запросом на выборку в диапазоне. Я ведь дал вам всё что нужно. Не получается?
0
16 / 0 / 0
Регистрация: 05.03.2024
Сообщений: 24
16.12.2024, 15:30  [ТС]
Вроде как что то получилось.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
begin
ADOQueryGrp.Close;
if CheckBox1.Checked then begin
  if (Trim(Edit2.Text) <> '') and (Trim(Edit3.Text) <> '') and (Trim(Edit4.Text) <> '') and (Trim(Edit5.Text) <> '') then begin
    ADOQueryGrp.SQL.Text := 'select * from Grp where ID in (select ID_grp from Hrng where КоординатыY between :y1 and :y2 and КоординатыX between :x1 and :x2) ORDER BY ID';
    var y1, y2, x1, x2: double;
    if (not TryStrToFloat(Edit2.Text, y1)) or (not TryStrToFloat(Edit3.Text, y2))
    or (not TryStrToFloat(Edit4.Text, x1)) or (not TryStrToFloat(Edit5.Text, x2)) then begin
      ShowMessage('Неверный формат числа!');
      Exit;
    end;
    ADOQueryGrp.Parameters.ParamByName('y1').Value := y1;
    ADOQueryGrp.Parameters.ParamByName('y2').Value := y2;
    ADOQueryGrp.Parameters.ParamByName('x1').Value := x1;
    ADOQueryGrp.Parameters.ParamByName('x2').Value := x2;
  end
  else begin
    ShowMessage('Пожалуйста, введите значения в оба поля КоординатыY и КоординатыX.');
    Exit;
  end;
end
else begin
  ADOQueryGrp.SQL.Text := 'select * from Grp ORDER BY ID';
end;
ADOQueryGrp.Open;
end;
Добавлено через 7 минут
Честно сказать, я даже не знал что уже вторая страница пошла
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.12.2024, 15:30

Оси координат
Ребят, можете помочь, оформить оси координат? В документе который я приложил. Заранее спасибо. 1. Сделать обрамляющую рамку 2. Надписи ...

Оси координат!
Здравствуйте форумчане! Помогите пожалуйста! Второй день сижу и никак не могу довести до конца! В общем задача состоит в следующем: ...

Оси координат
Подскажите как нарисовать оси координат на VC++. За ранее спасибо!

Начертить оси координат
наши досталы билеты с Экзаиена, знаю почти всё, но это пропустил и даже не бельмес(( 1 На экране монитора начертить оси координат, а...

Построить оси координат
Построить оси координат с отметками и целочисленными обозначениями.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru