Board index » delphi » Interbase Numeric Fields

Interbase Numeric Fields

I am having a lot of problems using an Interbase field declared as
Numeric (9,3).  Interbase (or probably BDE)  is not storing the decimal
value and appears to be truncating to a whole Integer value.  The same
code works fine on Oracle.

Also, when I use ISQL, the values appear to be in the db correctly.
When I perform a Select through the software, they appear to be
truncated, or reduced by a value of 1 (Could be a float rounding error
followed by truncation).

Any ideas?

 

Re:Interbase Numeric Fields


Kevin,

Interbase stores numerics that will fit as 32bit integers. The BDE does
not interpret the metadata correctly. Just increase your size until
Interbase stores it as a numeric.

The exact details are in the IB manuals.

Quote
kevin wrote:

> I am having a lot of problems using an Interbase field declared as
> Numeric (9,3).  Interbase (or probably BDE)  is not storing the decimal
> value and appears to be truncating to a whole Integer value.  The same
> code works fine on Oracle.

> Also, when I use ISQL, the values appear to be in the db correctly.
> When I perform a Select through the software, they appear to be
> truncated, or reduced by a value of 1 (Could be a float rounding error
> followed by truncation).

> Any ideas?

--
Ken Bailey
Falmouth Software Works Ltd.

Re:Interbase Numeric Fields


Use the BDE Administrator to change the Enable BCD setting of the Interbase
driver to True.

Bill

--
Bill Todd
(Sorry but TeamB cannot answer questions received via email)
(Remove nospam from my email address to contact me for any other reason)

Other Threads