我的表中有一个数据类型为NUMBER (16,2)的字段。
我正在尝试插入
99999999999999.99我使用.NET调用一个过程,并将值插入到表中。
因此,我使用Decimal (.NET类型)来获取值,并将其作为NUMBER (OracleType)发送给Oracle 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)发布于 2012-07-30 23:03:52
很难用您提供的详细信息级别来判断,但我猜您使用的Oracle存储过程的参数类型是NUMBER。它应该使用%TYPE属性来定义。
https://stackoverflow.com/questions/11723092
复制相似问题