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

Вниз

VIEW в БД и в Дельфи   Найти похожие ветки 

 
ELENA_P ©   (2006-01-19 13:47) [0]

Привет всем! Ситуация такая: в БД в таблице поля Numeric(15.5), строго обязательно иметь 5 знаков после дес.точки. В БД есть VIEW, который использует это поле. Работа с таблицей (insert, update) происходит правильно как ручками в БД, так и через датасеты в Дельфи, т.е. правильно вставляется значение, например, 1.89111. В этом VIEW данные тоже в БД отбражаются правильно, с 5-ю знаками. В программе отображение этого поля N(15.5) в датасетах, опирающихся на таблицу, правильно, так же вижу 5 знаков. При этом в модуле данных есть датасет, который основан на упомянутом выше VIEW. Вот тут и проблема: в гриде, где этот VIEW выводится, значение 1.89110, т.е последняя цифра отбрасывается. Что ни делала - пятый знак отбрасывает . Поставила display format как в датасете, так и в гриде такой, как надо.
В модуле данных поле интерпретируется так: viewTARIFY_VIEWZNACHENIE: TFIBBCDField
Что еще можно сделать, в чем причина проблемы?


 
Johnmen ©   (2006-01-19 13:52) [1]

Должно, по идее, интерпр. как TFIBFloatField.
Какой, кстати, диалект?


 
ELENA_P ©   (2006-01-19 14:12) [2]

Диалект 3. Все другие поля Numeric - как Float, правда, там всего 2 знака после точки. До этого все поля, которые теперь 15.5, были 15.4. Даже не возникало никаких проблем. Пробовала еще поменять эти 15.5. в БД на DOUBLE PRECISION (соответственно, перестроила VIEW b обновила все поля в модуле данных, т.е. удалила и заново добавила), но интерпретация поля осталась та же и сообщение об ошибке, мол, требуется BCD, а актуально Float.


 
Johnmen ©   (2006-01-19 14:20) [3]

Вот из TFIBBCDField+F1
Because TFIBBCDField uses the Currency type to work with data from BCD fields, TFIBBCDField limits the precision of the BCD values it can support to 4 decimal places and 20 significant digits.
Также к прочтению рекомендуется Language Reference раздел Datatypes.


 
ELENA_P ©   (2006-01-19 14:27) [4]

Это я читала, так непонятно, почему возник этот тип BCD,  а не Float? Почему так интерпретируется? В БД ведь Numeric


 
Johnmen ©   (2006-01-19 14:36) [5]

Также к прочтению рекомендуется Language Reference раздел Datatypes.
:)

Удалить экземпляр компонента, имеющий указанный тип поля. Завести его заново.
Посмотреть тип во вновь заведённом...



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

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

Наверх




Память: 0.48 MB
Время: 0.043 c
4-1134992931
eugenemail1970
2005-12-19 14:48
2006.03.12
Как считать данные с СОМ-порта номер 10 и выше?


2-1140553896
Wel
2006-02-21 23:31
2006.03.12
TImage


15-1140346770
QwertyKz
2006-02-19 13:59
2006.03.12
Автоматизация библиотек


1-1139215284
Int_64
2006-02-06 11:41
2006.03.12
Как запустить приложение в виде дочернего окна в MDI-приложении?


2-1140085820
PoetOfDelphi
2006-02-16 13:30
2006.03.12
Когда создать модуль данных