Hi
On 3/11/2010 9:36 p.m., Hiroshi Inoue wrote:
> Hi,
>
> (2010/11/03 12:22), Adrien de Croy wrote: 5. Oddness with double
> precision fields.
>>
>> We had to use double precision fields to store file size information,
>> because bigint couldn't do an __int64 (not sure what actual C type this
>> really maps to in reality). However when we get the field data back in a
>> query, it is reported as type SQL_FLOAT, even though the DB structure in
>> the PostgreSQL manager shows it as double precision. Obviously you don't
>> want to truncate double to float, so is this just in the driver (some
>> type switch case not supported?)
>
> SQL_FLOAT means double precision type. What means signle precision type
> is SQL_REAL.
When I tried to store a C double type (8byte floating point) into this
field which reported itself as SQL_FLOAT even though it's "double
precision", it reported that the thing I was poking in was too big, so I
had to fall back to storing it as a C float type. This is using
SQLBindParameter.
my understanding is SQL_DOUBLE is required. Is that used? It's
certainly used by other DBs, such as MySQL, MS SQL server and Access even.
Thanks for your reply
Regards
Adrien
>
>> Once we worked around all these issues, it seems to be working great.
>> I'm a bit concerned about losing precision with double vs float though.
>>
>> Regards
>>
>> Adrien
>
--
Adrien de Croy - WinGate Proxy Server - http://www.wingate.com