Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.14;
Скачать: CL | DM;

Вниз

Посчитать максимальное?   Найти похожие ветки 

 
Колобок   (2005-07-06 12:20) [0]

Добрый день!

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


 
msguns ©   (2005-07-06 12:31) [1]

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


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

Да, это DBGrid.


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

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

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


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

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


 
msguns ©   (2005-07-06 12:46) [5]

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


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

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


 
Alexander Panov ©   (2005-07-06 12:53) [7]

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

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


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

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


 
msguns ©   (2005-07-06 13:02) [9]

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


 
TUser ©   (2005-07-06 13:04) [10]

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


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

FibDataSet.


 
msguns ©   (2005-07-06 13:18) [12]

Если стоит эх!либ, то у него есть такая фича. Если обычный, то надо взять текст запроса (св-во 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;


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

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


 
msguns ©   (2005-07-06 13:35) [14]

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


 
Johnmen ©   (2005-07-06 13:38) [15]

А у меня нет ж)



Страницы: 1 вся ветка

Текущий архив: 2005.08.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.035 c
3-1120541716
Ландграф Павел
2005-07-05 09:35
2005.08.14
Access через ADO


14-1121940970
Igorek
2005-07-21 14:16
2005.08.14
Изучение новых технологий (на примере .NET)


14-1121798060
Керк
2005-07-19 22:34
2005.08.14
Вся правда о Гагарине


14-1122220561
Gamer
2005-07-24 19:56
2005.08.14
Работа со цветами


14-1121690700
Koala
2005-07-18 16:45
2005.08.14
Ющенко намерен ликвидировать ГАИ