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

本文关键字:绑定 变量 参数 类型 十进制 零时 何传递 | 更新日期: 2023-09-27 18:36:01

我正在使用绑定变量与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 参数值) 在 Oracle.ManagedDataAccess.Client.OracleParameter.PreBind_Decimal()

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

看起来好像我的"ToString("#.##")"返回了一个零的空字符串。我将其更改为"ToString("0.##")",它现在可以工作了!(感谢@Kevin的提示,导致答案!我早就应该发布这个答案了...但迟到总比永远好。