Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Что за ошибка "Invalid floating point operation" [D5, MSSQL]


Petrovski ©   (2006-10-16 17:22:00) 

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


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

> ANB [10]

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


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


> Petrovski   (17.10.06 13:21) [9]

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


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

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


ANB   (2006-10-17 13:03:00) [4]


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

и мозгов :)


Stanislav   (2006-10-17 08:36:00) [5]

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


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

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

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


clickmaker   (2006-10-16 18:11:00) [7]


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

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


ANB   (2006-10-16 17:39:00) [8]

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


Stanislav   (2006-10-16 17:32:00) [9]

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


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

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


ANB   (2006-10-16 17:23:00) [11]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо