FmtBCD Decimal digits

FmtBCD Decimal digits

Postby 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?

Posts: 9
Joined: Wed 15 Jun 2011 13:25

Postby AlexP » Thu 15 Sep 2011 10:20


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.
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Return to dbExpress driver for Oracle