2013-08-08 2 views
1

데이터베이스에서 검색된 그리드에 값을 바인딩하는 데 어려움을 겪고 있습니다. nullable 형식의 DateTime 데이터베이스 열이 있습니다. 그래서 null 값을 바인드하려고 할 때 객체 값 속성에 해당 값을 추가하는 동안 오류가 발생합니다. 따라서 데이터베이스에서 가져온 값을 추가하기 전에 개체에 추가하기 전에 값을 기본 형식으로 변환하는 함수를 사용하고 있습니다. 이후 datetime Type의 기본값은 1/1/0001 12:00:00 AM입니다. 따라서 null 값이 존재하는 곳에서는이 필드에 대해이 값을 얻고 있습니다.DBnull 값을 격자보기에 바인딩하는 방법은 무엇입니까?

이 문제를 해결하는 방법은 무엇입니까? 너의 sugesstions주세요.

제 시나리오를 설명하기 위해 여기에 코드를 추가하려고합니다.

public static T GetValue<T>(object o) 
{ 
    T val = default(T); 

    if (o != null && o != DBNull.Value) 
    { 
     val = (T)o; 
    } 
    return val; 
} 

이것은 데이터 판독기에서 데이터를 읽는 동안 사용하고있는 도우미 기능입니다. 당신이 datetime?

를 사용하여 변환하는 대신 날짜로 변환, 같은 널 (NULL) 날짜를 선언 한 이후

+0

날짜의 기본값은 SQL 및 .NET에서 다른과 날짜 값을 허용 . – phillip

+0

http://stackoverflow.com/questions/2191120/net-datetime-to-sqldatetime-conversion – phillip

+2

nullable datetime : 'DateTime?'을 사용하십시오. DBNull.Value의 경우 필드를 'null'로 설정하고, 그렇지 않으면 해당 값을 사용합니다. – Khan

답변

관련 문제