![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Что за ошибка "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]Неправильная операция на числом с плавающей точкой.