2013-02-14 1 views
0

내 TableAdapter에에서 업데이트 방법을 사용하여 테이블을 업데이트하기 위해 노력하고 있어요,하지만 난 fallowing 오류가 점점 오전 :TableAdapter에 업데이트 실패 : 널 (null)을 허용하지 않습니다

Cannot insert the value NULL into column 'isCorrect', table 'info'; column does not allow nulls. UPDATE fails.
The statement has been terminated.

나는 AllowDBNull 속성을 설정 않았다 그러나이 isCorrect 열에 대해서는 True로 설정하십시오.

이 필드의 원래 값이 전혀 변경되지 않았기 때문에이 업데이트는 isCorrect와 아무런 관련이 없습니다. 대부분의 경우 startDate 및 endDate를 업데이트하기를 원하며 필요한 경우 하나만 isCorrect 필드도 업데이트). 내 업데이트 검색어는 다음과 같습니다.

UPDATE info 
SET userID = @userID, startDate = @startDate, endDate = @endDate, isCorrect = @isCorrect 
WHERE (userID = @Original_userID) AND (startDate = @Original_startDate) AND (endDate = @Original_endDate) AND (isCorrect = @Original_isCorrect) 

이 문제를 어떻게 해결할 수 있습니까? 이를 위해

편집

은 내가 스케줄러 제어를 사용하고 있지만, 업데이트 나는이 기능을 호출 오전 : testsTableAdapter.Update(testsDataSet);
this.testsDataSet.AcceptChanges();

+0

실행 코드를 보여주십시오. –

답변

0

정보 테이블 (데이터베이스)의 디자인을 확인 & 확인을 null을 허용하는 "isCorrect"열에 대해 확인란을 선택했는지 여부를 나타냅니다.

DataSet의 정보 DataTable을 찾아 isCorrect 열을 선택 :

0

이 당신을 도울 수 있습니다. 그런 다음 F4 키를 누르고 NullValue 속성을 찾아 Null으로 설정합니다.

이렇게하면 해결되는지 알려주세요.

0

원본 isCorrect는 여기에서 문제가되지 않습니다. 새 isCorrect 값이 null이 아닌지 확인하십시오. tableadapter 메소드가 실행되기 전에 중단 점을 삽입하고 테이블 어댑터에 전달할 값을 확인할 수 있습니다. 테이블에서 null 값을 허용하지 않으면 AcceptChange 메소드를 호출 할 때 예외가 발생합니다.

0

ID 열에이 문제가 있습니다. 다음과 같이 ID 열을 만들어 ist를 해결했습니다. IDENTITY (1,1)

동일한 설정이 아니어도 ID 열과 동일한 문제가있는 다른 사용자에게 도움이 될 수 있습니다.