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

Вниз

Выбока максимального значения поля   Найти похожие ветки 

 
Вика2   (2004-08-19 11:50) [0]

Подскажите плиз как можно программно без использования SQL выбрать максимальное значение поля (тип дата) ?
Thanx...


 
Соловьев ©   (2004-08-19 11:58) [1]


> как можно программно без использования SQL

зачем? с помощью скл это быстрее и правельнее


 
Ильш   (2004-08-19 11:58) [2]

перебором как же еще
тока без SQL это изврат конкретный


 
surkis   (2004-08-19 12:06) [3]

> программно без использования SQL

думаю имеется уже готовый датасет и нужно найти запись с максимальным значением даты, тогда

var
 NumOfRec:Integer;
 MaxDate:TDateTime;
...
begin
...
Query.First;
MaxDate:=Query.FieldByName("Date").asDateTime;
NumOfRec:=Query.RecNo;
for i:=1 to Query.RecordCount do
 begin
   if MaxDate<Query.FieldByName("Date").asDateTime then
    begin
      MaxDate:=Query.FieldByName("Date").asDateTime;
      NumOfRec:=Query.RecNo;
      Query.Next;
    end;
   else Query.Next;
 end;
Query.RecNo:=NumOfRec;
...
end;


 
Соловьев ©   (2004-08-19 12:10) [4]


> Query.

Я бы понял если бы это была Table, но если запрос... ужас.


 
Ильш   (2004-08-19 12:10) [5]

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


 
surkis   (2004-08-19 12:12) [6]

> > Query.
> Я бы понял если бы это была Table, но если запрос... ужас.

Может у неё и Table я по привычке написал Query


 
Соловьев ©   (2004-08-19 12:14) [7]


> for i:=1 to Query.RecordCount do

да и это потенциальная ошибка.


 
Соловьев ©   (2004-08-19 12:15) [8]


> NumOfRec:=Query.RecNo;

А это вообще застрелится.


 
surkis   (2004-08-19 12:16) [9]

> > for i:=1 to Query.RecordCount do
> да и это потенциальная ошибка.

это почему?


 
Соловьев ©   (2004-08-19 12:24) [10]

да потому... прочти про свойство датасета BOF и EOF


 
Ильш   (2004-08-19 12:25) [11]

ghbvth в С++ (с Дельфями давно не общался просто)
for (Table->First();Table->Eof;Table->Next())
{
....и погнали максимум искати :))))
}


 
surkis   (2004-08-19 12:30) [12]

> Соловьев ©   (19.08.04 12:24) [10]
> да потому... прочти про свойство датасета BOF и EOF

Спасибо за совет, свойства я такие знаю. Факт в том что моя схема меня не разу не подводила потому для меня не разницы я пишу и так и так


 
Ильш   (2004-08-19 12:35) [13]


> Факт в том что моя схема меня не разу не подводила потому
> для меня не разницы я пишу и так и так

можно правой ного почесать левое ухо
никто не говорит что нельзя
но удобно ли????


 
Кщд ©   (2004-08-19 13:10) [14]

if MaxDate<Query.FieldByName("Date").asDateTime then
begin
...
Query.Next;
end
else Query.Next;


 
}{ander ©   (2004-08-19 13:18) [15]


> surkis   (19.08.04 12:30) [12]
> Факт в том что моя схема меня не разу не подводила потому для меня не разницы
> я пишу и так и так


А ты попробуй использовать с этой "схемой" TIBDataSet и увидишь, что получится - если не сделать предварительно FetchAll, то будет еще хороше, если твой цикл выполнится хотя бы раз, не смотря на то, что в выборке может быть туча записей ;-)


 
Вика2   (2004-08-19 13:53) [16]

вобщем понятно, спасибо, я сделала это с помощью SQL"я. Подскажите плиз, если например из одной таблицы надо выудить несколько значений, как-то:
1. Число доступных карт
2. Число активированных карт
3. Число заблокированных карт

Это надо 3 запроса делать? или можно как-нибудь в одном? :((


 
Соловьев ©   (2004-08-19 13:54) [17]

можно, групировка для этого есть.


 
Вика2   (2004-08-19 14:39) [18]

2 Соловьев ©
Запрос получился:


SELECT count(idcard) AS numCards, status AS nameStatus
FROM cards
GROUP BY status;

В Access все нормально работает, возрращает все как надо, попробовала этот же запрос в Delph"e: выдается ошибка:
...Exception class EAccessViolation with message "Access violation at adress 1Bxxxx in module msjet40.dll" Read of adress ...
???



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

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

Наверх




Память: 0.5 MB
Время: 0.034 c
3-1093269550
DA
2004-08-23 17:59
2004.09.19
Запрос в MSSQL


1-1094473773
icebeerg
2004-09-06 16:29
2004.09.19
Открытие запароленного xls файла.


14-1093137933
Думкин
2004-08-22 05:25
2004.09.19
С днем рождения! 22 августа


9-1085367893
Papai
2004-05-24 07:04
2004.09.19
Help


8-1088505767
sashok
2004-06-29 14:42
2004.09.19
Проигрывание видео на форме.