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

Вниз

Проблема с использованием BCD полей   Найти похожие ветки 

 
GAndrei   (2004-03-23 12:30) [0]

Уважаемые мастера , помогите пожалуйста решить такую проблему.

Доступ к базе организован через BDE
Включено свойство Enabled BCD
в базе существует поле numeric(10,6)

но при выполнени запроса прилетает число  точность которого 4
Возможно ли как то задатть в настройках BDE точность BCD полей?


 
GAndrei   (2004-03-24 12:47) [1]

нашел ссылочку http://www.rxlib.ru/faqs/faqd_en/17708.html
Здесь сказано что решением проблемы может быть использование FMTBCD полей. Но как их использовать непонятно. Если кто-то знает решение помогите пожалуйста


 
stas ©   (2004-03-24 13:43) [2]

А какая версия MSSQL ?


 
GAndrei   (2004-03-24 17:51) [3]

2000 sp3
но здесь проблема не с SQl Он то как раз очень акуратно работает

Я заметил такую особенность
В делфи нет чисел с фиксированой точкой, есть только тип float или Currency. Если запрос возвращает число с фиксированой точкой (Numeric), то делфа,BDE его интерпритирует как float (в случае если BCD отключено) или же как BCD (в этом случае точность не выше 4). Эта интерпритация приводит к "странному" результату
Например, в гриде вводится число 10.1 - оно тут же "превращается" в 10.0999.
Нашел такой вариант решения проблемы
Если на сервере хранится число с фиксированой точкой я выбираю это число таким образом: round(cast(Тable.Kurs as float),6,0) as Kurs
После этого проблемы исчезли.



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

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

Наверх




Память: 0.47 MB
Время: 0.039 c
14-1080117475
DillerXX
2004-03-24 11:37
2004.04.18
Мне интересно,


4-1076492231
BALU1111
2004-02-11 12:37
2004.04.18
DLL


4-1076313872
Rentgen
2004-02-09 11:04
2004.04.18
ListView_GetImageList


1-1081080709
Beginner1
2004-04-04 16:11
2004.04.18
Каким образом можно реализовать следующую задачу?


14-1080200566
Ega23
2004-03-25 10:42
2004.04.18
По C++ вопрос будет, не бейте сильно :о)