列を持つ SQL Server テーブルがありDECIMAL(10,2)
ます。これは までの数に適合するはず99999999.99
です。しかし>= 1000
、次の C# コードを使用して数値を挿入すると、例外が発生します。
データ型 double から float への変換中にエラーが発生しました。
挿入される値が の場合、正常< 1000
に動作します。ちなみに、C# の値は double です。
誰でもこれを説明できますか?
// ...
Database.AddInParameter(cmd, "@AssessmentScaleScore", DbType.Double,
(goal.StudentAssessmentInstanceID > 0
&& goal.AssessmentScaleScore > 0)
? goal.AssessmentScaleScore
: System.Data.SqlTypes.SqlDouble.Null);
// ...
Database.ExecuteDataSet(cmd);
繰り返しますが、goal.AssessmentScaleScore
はであり、DBdouble
の列に挿入しています。DECIMAL(10,2)
値が の場合は正常< 1000
に動作しますが、その場合>= 1000
は例外が発生します。
理解できません。