При подключении к базе данных и выполнения запроса некорректно выводяться значения BCD поля
т.е.
Есть FireBird 2.1 установленных в промышленном маштабе
Lazurus V0.9.30
используем стандартные компаненты
IBConnection1
SQLQuery1
SQLQuery1.sql.text:='select sum(pole1) as SMP1 from Tabel1 GROUP BY Tcode ';
есть поле суммы - SMP1 получает статус поля ftBCD и совсем не корректно отображает в данном поле / хотя Borland Дельфи 7 с тем же запросом все делает как надо
в суммах Дельфи число 4
в суммах из под лазуруса 454564564564564,5544
Числа формата Bcd в Запросах FireBird
Модератор: Модераторы
Компоненты доступа написаны неправильно.
FireBird тут никак не при чем вообще, т.к. он слухом не слыхивал о неком BCD.
Когда данные передаются в компонент, то есть структура, где хранится тип данных реальный, пришедший с сервера.
А когда данные надо поместить из этого типа в "филду", то надо преобразовать. Для этого пишут методы, типа GetAsBCD для совместимых типов филд.
Кстати, лучше (хоть и не возброняется) не назначать тип филде, а использовать именно тот, который создается при создании филд автоматом.
FireBird тут никак не при чем вообще, т.к. он слухом не слыхивал о неком BCD.
Когда данные передаются в компонент, то есть структура, где хранится тип данных реальный, пришедший с сервера.
А когда данные надо поместить из этого типа в "филду", то надо преобразовать. Для этого пишут методы, типа GetAsBCD для совместимых типов филд.
Кстати, лучше (хоть и не возброняется) не назначать тип филде, а использовать именно тот, который создается при создании филд автоматом.
