Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.013 c
3-1141289804
Oxy
2006-03-02 11:56
2006.04.23
Строка подключения к аксессу


2-1144595174
Radagast
2006-04-09 19:06
2006.04.23
Помогите, пожалуйста, разобраться с объектами


10-1117455549
mozart
2005-05-30 16:19
2006.04.23
Работа в Ворд


4-1138802484
DDDiM
2006-02-01 17:01
2006.04.23
шпион за com портом


2-1144201437
rosl
2006-04-05 05:43
2006.04.23
запрос sql





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский