2013-05-09 6 views
0

값이 null 인 판독기에서 datetime을 캐스팅하는 데 문제가 있습니다.SQLDataReader 날짜 시간에 Null

form._date101 = reader[52] == DBNull.Value ? DBNull.Value : (DateTime?)reader[52]; 

점점 '? System.DateTime' 'System.DBNull'와 사이에 암시 적 변환이 없기 때문에 조건식의 종류를 판별 할 수 없음

어떤 아이디어가 있습니까?

+0

두 줄로 구분하면 혼동을 일으킬 수 있습니다. –

+0

두 표현식 반환 할 수있는 타입은 동일한 타입이어야합니다. 첫 번째 가능성은 DBNull 타입을 반환하고, 다음은 DateTime? 타입을 반환하는 것입니다. – Jasmine

답변

6

난 당신이 의미 의심 : _date101 유형 DateTime?의 필드 있다고 가정 것

form._date101 = reader[52] == DBNull.Value ? null : (DateTime?)reader[52]; 

. "NULL 값을 데이터베이스에서 null 인 경우 DateTime?을 사용하고, 그렇지 않으면 null이 아닌 값을 사용하십시오.