我有一个带有DECIMAL(10,2)
列的 SQL Server 表。这应该适合最多99999999.99
. >= 1000
但是当我通过以下 C# 代码向其中插入任何数字时,我得到了异常
将数据类型 double 转换为 float 时出错。
如果插入的值为< 1000
,则可以正常工作。顺便说一下,C# 值是双精度值。
任何人都可以解释一下吗?
// ...
Database.AddInParameter(cmd, "@AssessmentScaleScore", DbType.Double,
(goal.StudentAssessmentInstanceID > 0
&& goal.AssessmentScaleScore > 0)
? goal.AssessmentScaleScore
: System.Data.SqlTypes.SqlDouble.Null);
// ...
Database.ExecuteDataSet(cmd);
再说一次,goal.AssessmentScaleScore
是 a double
,我将它插入到DECIMAL(10,2)
数据库的列中。如果值是< 1000
它工作正常,但如果它>= 1000
我得到一个异常。
我不明白。