![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Interbase+Numeric fields [D5, IB5.x]
supersan © (2003-04-04 16:37:00)Доброе время суток. Есть такая ситуация:
Домен: CREATE DOMAIN T_MONEY AS NUMERIC(7,2) NOT NULL;
Несколько таблиц с полями с таким доменом
В Delphi: компонент IBTable1 типа TIBTable связанный с такой таблицей, соответственно на форме TDBGrid и TDBNavigator, через TDataSourse связанные с IBTable1. Компилируется такая конструкция корректно. При выполнении я соединяюсь с базой (устанавливая IBDatabase1.Connected:=true), Delphi начинает ругаться: "Project *** raised exception class EDatabaseError with message "IBTable1: Size mismatch for field "MONEY", expecting: 4 actual: 0" и т.д."
Не подскажете, в чем тут дело? Хотелось бы обойтись без эмулирования этого поля в виде полей INTEGER, VARCHAR и т.п., т.к. хотелось бы использовать Grid и Navigator по своим прямым назначениям. Заранее спасибо.
Johnmen (2003-04-07 09:41:00) [1]Если надо работать с целочисленными данными, то integer;
если с действительными, то float / double precision.
supersan (2003-04-07 07:07:00) [2]Спасибо за ответ, только вопросы еще остались.
Сорри, а почему тогда при добавлении (Даблклик на соотв. IBTable + Add All Fields) этого, в частности, поля у него несколько нецелочисленный тип (TIIBCDField)? Попробовал еще поиздеваться над свойством Currency, все равно воспринимать меня не хотит. При замене вручную в коде типа этого поля на, напрмер, TFloatField Делфа выдает кучу предупреждений о некорректном типе и потом либо добивается своего (исправляет тип опять на TIIBCDField) либо не компиляется вчистую. Неужели никто с энтим делом не сталкивался и не нашел способа исправить? Помогите, плиз!!!
Johnmen (2003-04-04 16:40:00) [3]А оно и так integer, что и отражено в документации...:)