Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2014, 10:31   #1
sasha_14-88
Пользователь
 
Регистрация: 19.05.2014
Сообщений: 48
Восклицание Помогите с поиском БД делфи

База называется прогноз погоды. и так нужно определить среднюю температуру и выполнить поиск дней,когда температура была выше средней. вот написал, но выдает ошибку "аргументы имеют неверный тип,выходят за пределы допустимого диапазона или вступают в конфликт друг с другом" вот код:

Код:
procedure TForm1.N8Click(Sender: TObject);
begin
s:=0;
i:=0;
  ADOquery1.First;
while not(ADOquery1.Eof) do
  begin
  S:=S+ADOquery1.FieldByName('baza_temper').AsInteger;
  ADOquery1.Next;
  end;
ADOquery1.RecNo:=i;  
    w:=ADOquery1.RecNo;
    t:=s/w;
Edit1.Text:= (Format('%3.1f', [t]));
begin
Form1.ADOquery1.Filtered := true;
Form1.ADOquery1.Filter := 'baza_temper>='+QuotedStr(Edit1.Text);
end;
end;

Последний раз редактировалось Stilet; 21.11.2014 в 10:46.
sasha_14-88 вне форума Ответить с цитированием
Старый 21.11.2014, 10:47   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

И на какой же строке ошибка вылезает?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.11.2014, 11:00   #3
sasha_14-88
Пользователь
 
Регистрация: 19.05.2014
Сообщений: 48
По умолчанию

ошибка при запуске не вылазиет, выходит когда нажимаешь на кнопку поиска! какая ошибка я написал...
sasha_14-88 вне форума Ответить с цитированием
Старый 21.11.2014, 11:05   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ошибка обычно на какой-то строке бывает. А в принципе весь код ТС сплошная ошибка
Код:
procedure TForm1.N8Click(Sender: TObject);
var s: Integer;
    t: Real;
begin
  if ADOQuery1.RecordCount=0 then Exit;
  s:=0;
  ADOquery1.First;
  while not ADOquery1.Eof do
  begin
    s:=s+ADOquery1.FieldByName('baza_temper').AsInteger;
    ADOquery1.Next;
  end;
  t:=s/ADOQuery1.RecordCount;
  Edit1.Text:=Format('%3.1f', [t]);
  s:=Trunc(t);
  if s<t then Inc(s);
  ADOquery1.Filter:=Format('baza_temper>=%d',[s]);
  ADOquery1.Filtered := True;
end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 21.11.2014, 11:09   #5
sasha_14-88
Пользователь
 
Регистрация: 19.05.2014
Сообщений: 48
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Ошибка обычно на какой-то строке бывает. А в принципе весь код ТС сплошная ошибка
Код:
procedure TForm1.N8Click(Sender: TObject);
var s: Integer;
    t: Real;
begin
  if ADOQuery1.RecordCount=0 then Exit;
  s:=0;
  ADOquery1.First;
  while not ADOquery1.Eof do
  begin
    s:=s+ADOquery1.FieldByName('baza_temper').AsInteger;
    ADOquery1.Next;
  end;
  t:=s/ADOQuery1.RecordCount;
  Edit1.Text:=Format('%3.1f', [t]);
  s:=Trunc(t);
  if s<t then Inc(s);
  ADOquery1.Filter:=Format('baza_temper>=%d',[s]);
  ADOquery1.Filtered := True;
end;
я попросил помощи, а не осуждений или еще чего-нибудь, сами не знаете, не пишите! за любую помощь буду признателен! прошу не с чистого листа написать код, а помочь разобраться в ошибке, разве не для этого создан этот форум?!
sasha_14-88 вне форума Ответить с цитированием
Старый 21.11.2014, 11:11   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
а помочь разобраться в ошибке, разве не для этого создан этот форум?!
Для этого. Я и написал - весь код сплошная ошибка. И переделал его. Теперь сравнивайте. Что не так?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 21.11.2014, 11:28   #7
sasha_14-88
Пользователь
 
Регистрация: 19.05.2014
Сообщений: 48
По умолчанию

прошу прощения! на код не обратил внимания... Спасибо!

как в sql этот код переделать? Очень нужно

Последний раз редактировалось Stilet; 24.11.2014 в 15:06.
sasha_14-88 вне форума Ответить с цитированием
Старый 24.11.2014, 14:55   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Так, например
Код:
SELECT * FROM MyTable WHERE baza_temper>=(SELECT AVG(baza_temper) FROM MyTable)
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с поиском... Smogg Свободное общение 1 30.08.2014 21:57
Помогите с поиском Bestmachin БД в Delphi 9 12.06.2009 22:17
Помогите с поиском EugenZyr Помощь студентам 1 07.05.2008 14:02
Помогите с поиском 1234 БД в Delphi 5 01.04.2008 11:33
Помогите с поиском Egych PHP 1 09.08.2007 08:00