当我尝试执行存储过程时出现错误。将十进制转换为特定格式的十进制数?
C#属性 - 我不能改变:
我可以改变private decimal? a;
public decimal? A
{
get { return a; }
set { a = value; }
}
C#DAC层:
if (A.HasValue)
dict.Add("A", A.Value);
else
dict.Add("A", null);
在存储过程中输入 - >我不能改变
@A decimal(6,0)
什么是最好的方式来转换它没有异常和数据丢失?我需要这样做@B decimal(8,2)
数据库列接受上述格式的空值和十进制数。
错误我得到:
错误转换数据类型的数字为十进制
'dict.Add(“A”,A.HasValue.Value);'不编译。我想你想用'dict.Add(“A”,A.Value)' –
'A.HasValue.Value',什么?为什么'dict.Add(“A”,A)'不是简单的工作?正如你所写的,你无论如何都不会对'null'做任何特殊的处理。 –
@TimSchmelter,谢谢,有没有什么办法来格式化从C#代码输入小数 –