oracle number数据类型问题

时间:2012-07-30 14:00:14

标签: .net database oracle

我的表中有一个字段,其数据类型为NUMBER (16,2)

我正在尝试插入

99999999999999.99

我使用.NET来调用过程并在表中插入值。

所以我使用Decimal(.NET Type)获取值并将其作为NUMBER(OracleType)发送到Oracle Proc。 但不知何故,我从proc得到了舍入值,即

100000000000000

当有效数字为14或更多时,就会发生这种情况。

虽然我NUMBER(17,2)尝试了不同的组合,但没有任何效果。

可能是什么问题?

这是我正在使用的

Decimal numberField = Convert.ToDecimal(value);
OracleParameter oraPram;
            oraPram = new OracleParameter("paramName", OracleType.Number);
            oraPram.Direction = ParameterDirection.Input;
            oraPram.Value = numberField;

表结构是

Id      ----  Number
Quant   ----- Number(16,2)

1 个答案:

答案 0 :(得分:0)

很难说明您提供的详细信息的级别,但我猜测您使用的Oracle存储过程的参数类型是NUMBER。应使用%TYPE属性定义它。