![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
NUMERIC(32) to Integer [D5]
Dany © (2003-11-10 14:21:00)
Привет, All!
использую связку Delphi5 и Oracle8i, в Oracle создана таблица содержащая поле NUMERIC(32) при вызове из Delphi приходит как Float, а мне на входе нужен Integer, наверняка этот вопрос решаем, подскажите как?
Спасибо.
Reindeer Moss Eater (2003-11-10 15:58:00) [1]
С Numeric(4), как и с любым другим, все равно приходит как float.
Так и должно быть.
Параметры "ENABLE INTEGERS", "ENABLE BCD" по дефолту имеют значения False
Ломброзо (2003-11-10 15:32:00) [2]
Однозначно, неверно! )
А через что работаешь? BDE, ODBC, ODAC, OLE DB? Может, технологию доступа сменить?
Dany (2003-11-10 15:22:00) [3]
Фигня, ребята ;)
С Numeric(4), как и с любым другим, все равно приходит как float.
Обращаюсь через ttable. При добавлении компонент полей в ttable, поле приходит как TFloatField.
Anatoly Podgoretsky (2003-11-10 15:01:00) [4]
Оно не влезет и в Int64 и в Float (Extended) без потери значащих цифр
Ломброзо (2003-11-10 14:51:00) [5]
NUMERIC(32) это вовсе не 32 бита, это целое число с максимальным значением 999999999999999999999999999999999999 (32 девятки). Поэтому, разумеется, в Int и не влазит.
clickmaker (2003-11-10 14:48:00) [6]
Если данные получаешь через Query, то в селекте просто convert(int, FloatField) as FieldName
А вообще-то проще alter table и сменить тип поля. Все равно на клиенте будет тока 4 байта использоваться