如何在值为零时传递十进制类型的绑定变量(参数)?

时间:2016-02-24 21:05:36

标签: c# oracle odp.net

我在Oracle.ManagedDataAccess提供程序中使用绑定变量。我绑定的表列简单地定义为“数字”。当名为AMOUNT的变量不为零时,下面的代码行正常工作。但是当AMOUNT为0时,我得到以下错误。我搜索了网络(和SO)并没有找到任何帮助。我做错了什么?

cmd.Parameters.Add("TIME_AMOUNT", OracleDbType.Decimal, AMOUNT.ToString("#.##"), ParameterDirection.Input);
  

消息=其中一个标识的项目格式无效   Source = Oracle.ManagedDataAccess StackTrace:          at Oracle.ManagedDataAccess.Types.OracleDecimal..ctor(String numStr)          at OracleInternal.ServiceObjects.OracleParameterImpl.SetDecimalDataInBytes(Object   paramValue,Byte []& decimalByteArray)          at OracleInternal.ServiceObjects.OracleParameterImpl.SetDecimalDataInBytes(Object   paramValue)          在Oracle.ManagedDataAccess.Client.OracleParameter.PreBind_Decimal()

1 个答案:

答案 0 :(得分:0)

似乎我的“ ToString(“#。##”)“正在返回零的空字符串。我将其更改为“ ToString(“ 0。##”)“,现在可以使用了! (感谢@Kevin给出了答案的提示!我应该早就发布此答案了……但迟到总比没有好。)