SqlDateTime 오버플로우. 1753년 1월 1일 오전 12:00:00부터 999년 12월 31일 11일 사이에 있어야 합니다
NHibernate orm 프레임워크로 데이터를 삽입할 때 위의 오류가 보고되었습니다:
SqlDateTime overflow / SqlDateTime overflow [요약: 오류 - SqlDateTime 초과 발생. 1753년 1월 1일 오전 12:00:00부터 9999년 12월 31일 오후 11:59:59 사이에 있어야 합니다. SqlDateTime 초과 기간입니다. 1753년 1월 1일 오전 12:00:00 War 사이에 있어야 합니다. 전쟁 12/31/999 오후 11:59:59 이유 C# 데이터베이스 삽입 또는 업데이트 시 datetime 단어 사용 시
오류 - SqlDateTime 오버플로우. 1753년 1월 1일 오전 12:00:00부터 9999년 12월 31일 오후 11:59:59 사이여야 합니다 SqlDateTime 오버플로우. 1753년 1월 1일 오전 12:00:00부터 9999년 12월 31일 오후 11:59:59 사이여야 합니다
원인
C# 데이터베이스를 삽입하거나 업데이트할 때 datetime 필드 값이 기본적으로 null입니다. C# 0001-01-01 삽입은 SQL 서버 DateTime 타입 오버플로우를 일으킵니다.
C#의 DateTime 타입 범위
DateTime.MinValue = 1/1/0001 12:00:00 AM DateTime.MaxValue = 23:59:59.9999999, 9999년 12월 31일, 10000년 1월 1일 00:00:00 전 정확히 100나노초 틱 SQL Server의 Datetime 타입 범위
1753년 1월 1일 오전 12:00:00부터 9999년 12월 31일 오후 11:59:59 사이
이 글을 읽고 나니 뭔가 이해한 것 같아요. 속성이 비어 있어야 하고, NHibernate가 자동으로 기본값을 설정해야 하니, 이렇게 해야 한다고 생각합니다????
그 다음, 원래 할당되지 않았던 UpdateTime 속성을 할당한 후,오류가 없음을 확인했습니다, 그리고 데이터 테이블을 삽입했습니다.
하지만 제 분야가 비어 있을 때가 있는데, 어떻게 해야 할까요???
DateTime 클래스에서 UpdateTime 속성을 찾아서 DateTime으로 설정하시나요? 즉, 공허함을 허용하는 것입니다. (매핑된 xml이 가장 좋고, not-null="false"로 설정한 것도 다음과 같습니다:)
면책 조항: Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.
Mail To:help@itsvse.com