Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Посчитать максимальное? [D7]


Колобок ©   (2005-07-06 12:20:00) 

Добрый день!

В программе есть грид, в гриде есть поле (столбец) "Число". Проставляем в это поле (столбец) числа, например: 2, 2, 1, 2, 1.
Подскажите пожалуйста как найти максимальное число из введеных чисел? В этом примере максимальным будет число 2.


Johnmen   (2005-07-06 13:38:00) [1]

А у меня нет ж)


msguns   (2005-07-06 13:35:00) [2]

А у меня ошибка по этой ссылке ж(


Johnmen   (2005-07-06 13:23:00) [3]

http://sql.ru/forum/actualthread.aspx?tid=197818
забавно...


msguns   (2005-07-06 13:18:00) [4]

Если стоит эх!либ, то у него есть такая фича. Если обычный, то надо взять текст запроса (св-во SelectSQL) и заменить в строке SELECT перечень полей на MAX(<Имя-поля>). Модифицированный запрос впихать в тут же созданный TIBQuery, выполнить его (Open), считать полученное значение (Fields[0].AsXXX) в переменную, закрыть запрос и убить кверю.

Что-то типа
with TIBQuery.Create(nil) do
 begin
  DataBase := TFIBDataSet.DataBase;
  Transaction := TFIBDataSet.Transaction;
  SQL := TFIBDataSet.SelectSQL
  <Вырезаем из запороса все от первого пробела после слова SELECT до слова FROM>
  <Вставляем вместо него ' MAX(FieldName)'>
  Open;
  MaxVal := Fields[0].AsFloat;
  Close;
  Free;
 end;


Колобок   (2005-07-06 13:05:00) [5]

FibDataSet.


TUser   (2005-07-06 13:04:00) [6]

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


msguns   (2005-07-06 13:02:00) [7]

Какие компоненты используются в качестве датасета ?


Колобок   (2005-07-06 12:58:00) [8]

Как сделать запрос для датасета, чтобы выбрать мах?


Alexander Panov   (2005-07-06 12:53:00) [9]

Колобок   (06.07.05 12:47) [6]

А проблема в чем?


Колобок   (2005-07-06 12:47:00) [10]

Можно пожалуйста маленький примерчик, для лучшего закрепления материала?


msguns   (2005-07-06 12:46:00) [11]

И вообще, имхо, тема должна переехать в "Базы"


msguns   (2005-07-06 12:45:00) [12]

В гриде отображается датасет. Способов получения агрегатов из курсора (датасета) всего два (основных):
простое сканирование и сиквел запрос. Второй метод отличается от первого точностью (при конкурентном доступе в многопользовательских приложениях) и скоростью (существенно выше в большинстве случаев). Однако для его создание требуется исходный запрос, который собсна и "поствляет" данные с "сервера" на "клиент".


Думкин   (2005-07-06 12:44:00) [13]

> [2] Колобок   (06.07.05 12:40)

Тогда вопрос не к гриду, а к другому.


Колобок   (2005-07-06 12:40:00) [14]

Да, это DBGrid.


msguns   (2005-07-06 12:31:00) [15]

В гриде поле? Это что, DBGrid ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо