Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Re: Delphi and Oracle: data type problem
÷ ÐÉÓØÍÅ ÏÔ 01 ÏËÔ 98 ÎÅËÔÏ
(lothar.armbruester_at_rheingau.netsurf.de) ÐÉÓÁÌ(Á/Ï):
> Here is some funny experiance with Delphi:
>
> If you have a NUMBER(10), Delphi uses a TIntField which uses 32Bit ints.
> That means you have no way inserting say 5000000000 using these field
> component.
> NUMBER(5) is also critical because Delphi uses TShortIntField with 16Bit
> ints. So you cannot insert 90000 into such a field.
> If you use TQuery, you can do it, when you try to retrieve such numbers,
> the results are not usable.
> So be careful with such number sizes or set enable_integers to FALSE in
> the BDE config.
>
> CU,
> Lothar
>
> --
> Lothar Armbrüster | lothar.armbruester_at_rheingau.netsurf.de
> Schulstr. 12 | lothar.armbruester_at_t-online.de
> D-65375 Oestrich-Winkel |
>
>
>
> Here is some funny experiance with Delphi:
>
> If you have a NUMBER(10), Delphi uses a TIntField which uses 32Bit ints.
> That means you have no way inserting say 5000000000 using these field
> component.
> NUMBER(5) is also critical because Delphi uses TShortIntField with 16Bit
> ints. So you cannot insert 90000 into such a field.
> If you use TQuery, you can do it, when you try to retrieve such numbers,
> the results are not usable.
> So be careful with such number sizes or set enable_integers to FALSE in
> the BDE config.
>
> CU,
> Lothar
There is a BDE oracle driver parameter called Enable BCD which is quite useful for such cases. Setting this parameter to TRUE will cause BDE to treat large NUMBERs as TBCDField thus you can have TInteger interpretation of NUMBER(10) and TBCDField for large number values.
Regards, Sergey Received on Mon Oct 05 1998 - 11:52:46 CDT