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