Delphi XE7 - 字段FTBcd - 数字超出范围

时间:2015-10-20 16:27:48

标签: delphi delphi-xe7 tbcd

我正在将应用程序从Delphi 2010迁移到Delphi XE7,它使用了一些带有BDE的旧Paradox表。我有一些字段形成BCD(#)大小4,在Delphi 2010中管理as.asfloat

示例

TABELLA1.Fieldbyname('FIELDBCD').AsFloat: = TABELLA2.Fieldbyname('Number').AsFloat; 

没有任何问题。

在转换后的程序中,任何类型的赋值都会转到错误信号EDBEngineError Number超出范围....即使我只是将DBGrid中的值数字化。

您是否了解过Delphi XE7中BCD字段管理中的BUG,或者他们是否必须以不同的方式进行管理?

由于 米尔科

1 个答案:

答案 0 :(得分:0)

这个问题很老,但是这些天我仍然面临着这个问题。我建议确认三个属性。

精度-(必须是有意义的部分和小数部分)。例如,在数据库中,该字段为numeric(8,4),因此此处的正确值为12

size-(仅数字的偶数部分)。在我们的示例中,正确的值为4

DisplayWidth-在这里,我们使用精度+ 1的值作为逗号。