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

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

Bug с отрицательными числами в Firebird 1.5 [D6, IB6.x]


dzh2000 ©   (2003-10-04 16:36:00) 

Уважаемые коллеги!

Очень надеюсь на Вашу помощь. Возникла проблема, с которой бьюсь уже неделю
и не могу найти объяснения.

Есть Firebird 1.5.0.3815 RC6, IB Expert 2003.10.01, БД Dialect 3

Упрощу свой рассказ. Из одной хранимой процедуры вызывается другая:

KK = -0.486;
execute procedure EX(KK) returning_values KK;

где переменная KK объявлена как NUMERIC(11,3)
а процедура EX описана как

create procedure EX (V NUMERIC(11,3))
returns (R NUMERIC(11,3))
as
begin
R = V;
end

При пошаговом выполнении проверяю значение переменной KK после выполнения
процедуры EX, и вместо значения -0.486 получаю -486.

Объясните мне, пожалуйста, почему так происходит. Как я понимаю, для
хранения значения переменной KK отводится тип INT64, но почему при передаче
в процедуру и возврате из нее число так искажается?

Спасибо. Дмитрий


dzh2000   (2003-10-05 23:08:00) [1]

Digitman, ты оказался прав. Александр Хвастунов (автор IB Expert) подтвердил, что это баг в отладчике.


Digitman   (2003-10-04 17:18:00) [2]

это IBExpert врет, скорей всего


Наверх

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