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

Вниз

Что за ошибка "Invalid floating point operation"   Найти похожие ветки 

 
Petrovski   (2006-10-16 17:22) [0]

Источником информации через ADODataSet является хранимая процедура. При отображении/прокрутке информации в сетке появляется вышеуказанное сообщение. В самой процедуре из того, что могло бы влиять на ситуацию - умножение/деление смешанных целых и дробных значений. Может кто сталкивался с подобной ситуацией или знает, где искать причину ошибки?


 
ANB ©   (2006-10-16 17:23) [1]

Неправильная операция на числом с плавающей точкой.


 
clickmaker ©   (2006-10-16 17:24) [2]

Например, пытаешься из поля типа float получить целое (AsInteger)


 
Stanislav ©   (2006-10-16 17:32) [3]

Я с такой фигней сталкивался, когда запускал приложение под некоторыми win98, на XP было все ок!
Спасало обновление MDAC, либо копирование папки
\Program Files\Common Files\System\
с рабочей win98 на нерабочую, когда это непомогало, спасала переустановка винды :-)


 
ANB ©   (2006-10-16 17:39) [4]

Проверь типы полей в наборе данных. Скорее всего неправильно определились.


 
clickmaker ©   (2006-10-16 18:11) [5]


> спасала переустановка винды

ну-ну. "Если в кране нет воды, то виной тому - Винды" :)


 
Petr V.Abramov   (2006-10-17 01:12) [6]

это глюк, который м.б. от чего угодно, лечится патчами ADO, windows, программы

> clickmaker ©   (16.10.06 18:11) [5]
 если глючит монитор - микрософт развертку спер
 счет пришел за интернет - вот от микрософта вред :)


 
Stanislav ©   (2006-10-17 08:36) [7]

>clickmaker ©   (16.10.06 18:11) [5]
:-)
Не исключино что комп был заражен червем, может он чего-то наделал.
Разбираться небыло времени, быстрее было винду переставить.


 
ANB ©   (2006-10-17 13:03) [8]


> лечится патчами ADO, windows, программы

и мозгов :)


 
Petrovski   (2006-10-17 13:21) [9]

Никаких видимых нарушений в определении полей не нашел - поля типа Curency  из MS SQL передаются как BCDField, Integer - как IntegerField.
Удалось локализовать источник ошибки. Это вычисляемое поле, в котором  одно BCDField делилось на другое BCDField и умножалось на 100, причем только в том случае, если в числителе был 0.
Почему так - не понимаю.
Спасибо всем за соучастие.


 
ANB ©   (2006-10-17 13:34) [10]


> Petrovski   (17.10.06 13:21) [9]

Вот это уже ближе.
1) Перенеси вычисления на сервер.
2) Имхо - у тебя там и в знаменателе 0. Поставь проверку - если ноль в числителе, то не считать ничего, сразу ноль писать (case).


 
Petrovski   (2006-10-17 13:59) [11]

> ANB [10]

Спасибо!
Я, собственно, и сделал по второму варианту. (Нулей в знаменателе нет). Сейчас попробую и первый вариант реализовать.



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

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

Наверх




Память: 0.49 MB
Время: 0.045 c
15-1165958934
Alexander S
2006-12-13 00:28
2006.12.31
Поиск программистов для совместной работы над проектом


8-1146912258
Volfram
2006-05-06 14:44
2006.12.31
Проблема с DelphiX


11-1142586282
BaryVetaL
2006-03-17 12:04
2006.12.31
TMHTrackBar - OnChange


8-1145632081
hbreaker
2006-04-21 19:08
2006.12.31
Аналог ACDSee


15-1165855670
Гоблин
2006-12-11 19:47
2006.12.31
MSSQL - посоветуйте книжку