Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Firebird, Interbase > Есть вопрос по переходу с IB 5.5 на 6.5 (Dialect3)


Автор: Bazil 21.2.2007, 13:31
Всем доброго дня.
Есть вопрос по переходу с Interbase 5.5 на 6.5 (Dialect 3), а именно:
я так понял что тип NUMERIC(11,х) это уже INT64 потому как при обращении к полю NUMERIC(15,2) из делфи оная орет что не верный тип данных, значит надо привести к INT64, хотелось бы пример кода для обозначения поля по-новому и где в INT64 указывается количесво знаков после запятой?
Как обращаться к полю INT64 из делфи - asFloat или как?
С уважением, Bazil.

Автор: Alex 21.2.2007, 13:51
Внутри это действительно Int64. Пересоздаете поле в своем датасете, что бы он перестал орать, а что касается обращений, то как обращались AsFloat или AsCurrency так и продолжаете обращаться.

Автор: Bazil 21.2.2007, 15:15
Т.е. в самой базе тип полей NUMERIC(15,2) менять на INT64 не надо?

Автор: Alex 21.2.2007, 15:20
бррррр... Int64 - это целочисленный тип! Просто начиная с IB6 numeric в нутри самой БД реализовывается как Int64. Это делается для избавления от ошибок округления и для вас как для создателя БД по большому счету не важно.

Добавлено @ 15:26 
http://ibase.ru/devinfo/migration.htm

Автор: Bazil 21.2.2007, 15:43
Все понял.
Alex'y отдельное спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)