VS2008 DataSets를 사용하여 데이터베이스에 연결하고 있습니다. (: 날짜 시간? 즉 형)C# (3.5) TableAdapter를 사용하여 null DateTime 값을 데이터베이스에 읽거나 쓰십시오.
MSDN Datasets이 절대적으로 상태 :
Null 허용 null이 구조는 현재 데이터 세트에서 지원되지 않는 데이터베이스 내의 테이블 중 하나가 널 (null)을 허용하는 날짜 시간 열이 포함되어 있습니다. TableAdapters에 대한 MSDN 사이트에서 그러나
는 TableAdaters이 nullable 형식을 지원할 수있는 상태 :
TableAdapters이 널 (NULL)와 T (T의) nullable 형식을 지원? nullable 형식에 대한 자세한 내용은 C#의 nullable 형식에 대한 자세한 내용은 Nullable 형식 사용 (C# 프로그래밍 가이드)을 참조하십시오.
혼란스러워!
DataSet 디자이너에서 'AllowDBNull = True'로 설정했지만 잘못된 DateTime (SELECT * FROM UDF)을 반환하는 TableAdapter 쿼리를 실행할 때마다 다음 예외가 발생합니다. "ArguementOutOfRangeException : Year , 월 및 일 매개 변수는 표현할 수없는 DateTime을 나타냅니다. "
내가 가진 한 가지 아이디어는 null 값을 올바르게 처리하기 위해 System.Object로 Column 유형을 변경 한 다음 내 자신의 코드에서 변환을 수행 할 수 있지만 여전히 동일한 예외가 발생합니다.
이 question은 쿼리가 반환 된 후에 null을 처리하는 방법을 제안하지만 쿼리를 반환 할 수는 없습니다.
데이터베이스에서 null을 처리 할 수있는 테이블에서 쿼리를 실행할 수 있도록 TableAdapter 및/또는 Dataset을 어떻게 수정할 수 있습니까?
더 나은 쿼리를 보여줍니다. 그냥 일해야합니다. –
쿼리가 작동한다고 생각합니다. 문제는 자동 생성 된 TableAdapter/Dataset으로 인해 NULL DateTime과 상호 운용되지 않으며 예외가 발생합니다. –
아니요, 생성 된 데이터 테이블은 nullable 열을 잘 처리 할 수 있습니다. –