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

Вниз

Invalid Floating Point   Найти похожие ветки 

 
ViktorZ ©   (2006-02-26 15:06) [0]

Вылетает ошибка у пользователя. У меня главное все нормально. Компилирую прогу отправляю. у него еррор. Главное я даже понять не могу где. Использую Квик репорт.


 
Vlad ©   (2006-02-26 15:14) [1]


> ViktorZ ©   (26.02.06 15:06)  


Вопрос то в чем?


 
Sergey Masloff   (2006-02-26 15:17) [2]

>Компилирую прогу отправляю. у него еррор.
Это плохо. Писать надо так чтобы работало везде.


 
Desdechado ©   (2006-02-26 16:56) [3]

а по тексту ошибки догадаться не пробовал?


 
ViktorZ ©   (2006-02-26 17:41) [4]

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

>Компилирую прогу отправляю. у него еррор.

> Это плохо. Писать надо так чтобы работало везде.


Золотые слова. Жаль что только слова...


> Вопрос то в чем?

ИМХО я бы догадался. Из-за чего ошибка и как ее исправить. Потому что непонятно из-за чего она так как у меня все ОК. Мож какие нить библиотеки нужны, хотя Делфи все в себя шьет. Странно.


 
ViktorZ ©   (2006-02-26 17:48) [5]

Invalid Floating Point - Не правильная операция с плавающей запятой. Да у меня там только даты и целые числа и строки.


 
Vlad ©   (2006-02-26 17:54) [6]


> ViktorZ ©   (26.02.06 17:41) [4]


> Из-за чего ошибка и как ее исправить

Ошибка, ясно дело, в твоей программе. Текст ошибки ясно об этом говорит.

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


> Да у меня там только даты и целые числа и строки

а дата и есть число с плавающей запятой. См. справку TDateTime


 
ViktorZ ©   (2006-02-26 17:57) [7]

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

Код очень громоздкий.
Но ошибка вылетает при нажатии на кнопку ее код и приведу.
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Text:="SELECT C.Card,SUM(AR.Qnt*AR.RealPrice) AS CAT FROM Cards C, Menu M "+
" LEFT OUTER JOIN  ARCheck AR on AR.Sifr=M.Sifr "+
" LEFT OUTER JOIN  ADCheck AD on AD.Sys_Num=AR.Sys_Num "+
" LEFT OUTER JOIN ACheck A on A.Sys_Num=AD.Sys_Num "+
" WHERE "+
" M.Categ=:P1 And "+
" (A.LogicDate BETWEEN :P2 AND :P3) AND "+
"  (AD.CArdCod=C.Card) GROUP By C.CArd";

Query1.Params[0].AsInteger :=strtoint(Edit3.text);

Query1.Params[1].AsDate:= strtodate(Edit1.text);
Query1.Params[2] .AsDAte :=strtodate(Edit2.text);
Query1.Open ;

Query2.Close;
Query2.SQL.Text:="SELECT C.Card,SUM(AR.qnt*Ar.RealPrice) AS TOTAL FROM Cards C, Menu M "+
"LEFT OUTER JOIN  ARCheck AR on AR.Sifr=M.Sifr "+
"LEFT OUTER JOIN  ADCheck AD on AD.Sys_Num=AR.Sys_Num "+
"LEFT OUTER JOIN acheck A on A.Sys_Num=AD.Sys_Num "+
"WHERE "+
"M.CAteg<>:P1 And "+
"(A.LogicDate BETWEEN :P2 AND :P3)"+
"AND AD.CArdCod=C.Card GROUP By C.CArd";
Query2.Params[0].AsInteger :=strToInt(Edit3.text);
Query2.Params[1].AsDate:= strtodate(Edit1.text);
Query2.Params[2] .AsDAte :=strtodate(Edit2.text);

Query2.Open;

Query3.Close;
Query3.SQL.Text:="SELECT C.Card,SUM(AR.qnt*Ar.RealPrice) AS Del FROM Cards C, Menu_ M "+
"LEFT OUTER JOIN  ARCheck AR on AR.Sifr=M.Sifr "+
"LEFT OUTER JOIN  ADCheck AD on AD.Sys_Num=AR.Sys_Num "+
"LEFT OUTER JOIN acheck A on A.Sys_Num=AD.Sys_Num "+
"WHERE "+
"M.CAteg<>:P1 And "+
"(A.LogicDate BETWEEN :P2 AND :P3)"+
"AND AD.CArdCod=C.Card GROUP By C.CArd";
Query3.Params[0].AsInteger :=strToInt(Edit3.text);
Query3.Params[1].AsDate:= strtodate(Edit1.text);
Query3.Params[2] .AsDAte :=strtodate(Edit2.text);

Query3.Open;

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Dbgrid1.DataSource := DataSource1;
Query1.DatabaseName :="SEN";
DAtasource1.DataSet :=Query1;
GridRep.Visible :=False ;
 Session.AddPassword("Aeroflot_Plus");
  Query1.Active:=true;
  Query2.Active:=true;
   Query3.Active:=true;
end;

НАсчет даты, даже и не думал. Спасибо буду рыть.


 
Desdechado ©   (2006-02-26 18:15) [8]

> Query1.Params[0].AsInteger :=strtoint(Edit3.text);
> Query1.Params[1].AsDate:= strtodate(Edit1.text);
> Query1.Params[2] .AsDAte :=strtodate(Edit2.text);
а если в Edit не то, что ты ожидаешь?
пользователь-то может и промахнуться или даже не правильно понять, что туда вводить
и формат ввода тоже важен


 
ViktorZ ©   (2006-02-26 18:31) [9]

Я то как раз то там и ожидаю и у меня работает. Пользователь все правильно делает. Я на форме подписал уже заранее в поля тестовые:15,01.01.2006,24.02.2006 соответсвенно. Другое дело что разделители могут быть разные. Но проверив, понял что нет.


 
ViktorZ ©   (2006-02-26 18:59) [10]

Дело как выясняется в базе.


 
Vlad ©   (2006-02-26 19:02) [11]


> ViktorZ ©   (26.02.06 18:59) [10]
> Дело как выясняется в базе.


Т.е. ошибку дает сервер БД?
Уж не на это ли ругается:
SUM(AR.qnt*Ar.RealPrice)


 
ViktorZ ©   (2006-02-26 19:03) [12]

я не знаю. У меня Прфайлера нет. А отладчике не шарю.


 
Vlad ©   (2006-02-26 19:13) [13]


> ViktorZ ©   (26.02.06 19:03) [12]

Ну, тогда для начала все-таки необходимо установить - кто дает ошибку: клиент или сервер БД.
Кстати, какую БД используешь?


 
ViktorZ ©   (2006-02-26 19:17) [14]

Ой вроде птичку ставил. Парадокс. Короче ситуевина такая. Берет пользователь чистую базу. Прога не выдает ошибки, но отрабатывает и ничего не выводит. Когда база заполнена чем то, то ошибка есть.


 
Джо ©   (2006-02-26 19:48) [15]

А говорил, что ошибки в программе нет... Есть она, есть.


 
Sergey Masloff   (2006-02-26 20:49) [16]

Все же на 90% дело в настройках - какие-то разделители у пользователя не те. Нельзя закладываться не на какие пользовательские настройки - за все что программа ожидает получить как внешние данные отвечает программист.


 
Johnmen ©   (2006-02-26 20:55) [17]

Ошибка звучит так  Invalid Floating Point Operation
Осталось выяснить, на какой строчке кода.


 
Petr V. Abramov ©   (2006-02-26 21:54) [18]

В свое время (98г) связка BDE+QR+SQLLinkдрайвер Oracle стабильно выдавала такую ошибку на процессоре Cyrix. Были такие приколы на мат. платах с каким-то вполне определенным чипсетом.
 Но скорее дело в чем-нить типа разделителей


 
Zacho ©   (2006-02-26 22:22) [19]

Я что-то пропустил, или автор ветки так и не назвал СУБД ?


 
Sergey Masloff   (2006-02-26 22:51) [20]

Zacho ©   (26.02.06 22:22) [19]
Пропустил. Парадокс.


 
Neo Trinitron ©   (2006-02-27 13:07) [21]

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


 
ViktorZ ©   (2006-02-27 14:34) [22]

РАзделителт дат у нас совпадают и чмсел кстати тоже. Выяснилось все так: у юзверя при смене таблиц БД, все заработало. Скорее всего с датой что нить в самой базе было.



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

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

Наверх




Память: 0.52 MB
Время: 0.041 c
2-1144314543
fast2
2006-04-06 13:09
2006.04.23
Как в PageControl e вставить новый TabSheet среди существующих?


2-1144271250
Farpik
2006-04-06 01:07
2006.04.23
ОБНОВИТЬ!


15-1143890525
Alexander Panov
2006-04-01 15:22
2006.04.23
Что это было?


11-1124962544
shalex
2005-08-25 13:35
2006.04.23
Не закрывается модальное окно


15-1142970014
Увгсфеук
2006-03-21 22:40
2006.04.23
Программы для автоматизации работы школ