FmtBCD Decimal digits

Discussion of open issues, suggestions and bugs regarding usage of dbExpress drivers for Oracle in Delphi and C++Builder
Post Reply
Rodolpho
Posts: 9
Joined: Wed 15 Jun 2011 13:25
Contact:

FmtBCD Decimal digits

Post by Rodolpho » Wed 14 Sep 2011 14:54

Hi guys,

I have a Oracle field (Data type: NUMBER(16,10)) and on my TField, the Datatype TFmtBCD.

When i do anything DML command on the database (insert, update, delete, select) i cannot store more that 4 digits in decimal place, ex:

My data: 1234,5678910
Data stored: 1234,5678 (fault 3 digits)

How i can fix it?

Tks!

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Post by AlexP » Thu 15 Sep 2011 10:20

Hello,

Your problem is connected with the fact that the value of BCDPrecision cannot be higher then 14,4, and as the size of your field is 16,10 and BCDPrecision is 14,4 by default, then of course only 4 symbols are inserted into the table after the point.

You should use Float fields to solve this problem (set the EnableBCD option to false). Changing of the BCDPrecision value in your case will always cut data, because the size of your field is bigger then the possible value of BCDPrecision.

Post Reply