Re: Various errors in psqlodbc: SQLGetTypeInfo, SQLTables, bigint, and double vs float
От | Adrien de Croy |
---|---|
Тема | Re: Various errors in psqlodbc: SQLGetTypeInfo, SQLTables, bigint, and double vs float |
Дата | |
Msg-id | 4CD135D5.1090308@qbik.com обсуждение исходный текст |
Ответ на | Re: Various errors in psqlodbc: SQLGetTypeInfo, SQLTables, bigint, and double vs float (Hiroshi Inoue <inoue@tpf.co.jp>) |
Список | pgsql-odbc |
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
В списке pgsql-odbc по дате отправления: