문제

데이터베이스에 무효가 가능한 날짜가 있습니다. 나는 linqdatasource와 연결하고 Formview와 바인딩하고 있습니다. 날짜가 잘 배치 될 수 있지만 날짜를 제거하면 널 값을 DB에 삽입해야합니다. 대신 예외를 던지고 있습니다.

<asp:TextBox ID="TxtStartDate" runat="server" 
                    Text='<%# Bind("StartDate", "{0:MM/dd/yyyy}") %>' />

날짜를 배치하면 정상적으로 작동하지만 날짜를 삭제하고 저장하면 System.Data.sqltypes.sqltypeexception : SQLDATETIME 오버플로를 얻습니다. 1/1/1753 12:00:00 AM에서 12/31/9999 11:59:59 사이 여야합니다. NULL을 보내는 방법은 무엇입니까?

도움이 되었습니까?

해결책

그것이 가장 좋은 방법인지는 모르겠지만 FormView 업데이트 이벤트를 구독하여 다음과 같은 코드를 작성하여 수정했습니다.

object o = e.NewValues["StartDate"];
   if (o.ToString() == "")
       e.NewValues["StartDate"] = null;
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top