2012-10-02 2 views
1

나는 10 진수 (18,2) 데이터를 sql에두고 클래스의 속성을 .net 측에 float로 설정합니다. 개체를 선택하면 .net이 다음과 같은 오류를 반환합니다.10 진수 SQL 형식을 .net float 형식으로 변환

The 'DiscountRate' property on 'Product' could not be set to a 'Decimal' value. You must set this property to a non-null value of type 'Single'. 

의견이 있으십니까?

+0

테이블 구조와 클래스 정의를 게시하는 것이 도움이됩니다. –

답변

2

.NET 코드에서 십진수 (18, 2)의 두 자리 또는 십진 형식.

SQL에서 .NET 유형에 대한 상호 참조는 here을 참조하십시오. 이제 널 (null) 당신이 null 허용 진수 또는

public decimal? DiscountRate { get; set; } 
0

난 당신이 진수 유형에 .NET 클래스에 속성을 변경하거나 할 중 하나를해야한다는 제안을 사용하여 확인 할 수 있습니다 열을 진수하는 경우

설정시 float 로의 명시 적 변환. 십진 유형을 사용하면 더 이상의 문맥없이 더 정확 해 보일지라도 사용하는 코드는 실제로 코드에 따라 다릅니다. 당신은 Specifying Parameter Data Types section

링크를 읽을 수 http://msdn.microsoft.com/en-us/library/system.decimal.aspx

:

0

당신은 decimal에 속성을 변경해야합니다. 변환이 더 쉬우 며 float 또는 double과 함께 오는 반올림 오류로부터 사용자를 보호합니다.

다음은 광범위한 문제에 대한 설명입니다. decimal vs. double

관련 문제