![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
8i+BDE+Delphi5 [Oracle]
Андрей Назаров © (2002-10-15 12:49:00)В данный момент работаю над переводом большого проекта
с MSSQL на ORACLE 8.
Возникла проблема: В Oracle тип данных Integer понимается
как NUMERIC(*,0). А TQuery и TTable воспринимают эти поля как TFloatField. Таких полей достаточно много и для нормальной работы системы нужно либо переделывать все такие поля и некоторый код работы с ними на клиенте с TIntegerField на TFloatField (что в общем-то нехорошо), либо писать компонент для сервера приложений который будет смотреть масштаб NUMERIC"а в системных таблицах и создавать либо TIntegerField, либо TFloatField.
Подскажите пожалуйста, что лучше.
Или есть другой путь?
Заранее спасибо.
PS.
Пробовал DOA, но они тоже создают TIntegerField. Пробовал ADO -
они вообще создают TBCDField.
petr_v_a (2002-10-15 13:29:00) [1]если создать поле типа integer, в базе в словарь запишется number(38,0), ессно а TIntegerField это не влезет. Можно обрезать их до максимального number(?,0), которое влезает. Это уже можно сделать автоматом, пройдясь по ALL_TAB_COLUMNS и используя dynamic SQL