AR
19 января 2021 г. 19:25

Поиск минимального значения по функции и обратный запрос в базу данных

база данных, Qt, sql

Добрый вечер! На экране есть несколько объектов со своими координатами центра, координаты занесены в базу данных в виде X, Y.
На форму при нажатии мышкой на область отправляются её координаты нажатия, так же в формате X, Y.
Имеется функция getRs(X1, Y1, X2, Y2) которая высчитывает расстояние между точками. Соответственно X1, Y1-координаты нажатия мышкой, вторые координаты точки из базы данных.

  1. .....
  2. query.exec("select id, X, Y, NAME from TestTable) ;
  3.  
  4. while(query.next())
  5.  
  6. {
  7.  
  8. getRs(X1, Y1, X2, Y2) ;
  9. }

Соответственно в базе условно 20 элементов, получаю 20 значений шт getRs. Нужно только минимальное значение из всех после прохода по базе данных и получить id, NAME точки, соответсвующие минимальному значению. И уже по id сделать запрос опять в БД и для него одного получить X, Y.
Как правильно сделать? Заранее спасибо

2

Вам это нравится? Поделитесь в социальных сетях!

1
Алексей Внуков
  • 19 января 2021 г. 22:05

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

    Комментарии

    Только авторизованные пользователи могут публиковать комментарии.
    Пожалуйста, авторизуйтесь или зарегистрируйтесь