我的表中有一个字段,其数据类型为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)
答案 0 :(得分:0)
很难说明您提供的详细信息的级别,但我猜测您使用的Oracle存储过程的参数类型是NUMBER。应使用%TYPE
属性定义它。