저는 C# 2005와 Sql Server 2000을 사용하는 응용 프로그램을 작성하고 있습니다.어떤 데이터 집합 행이 DB 고유 제약 조건을 위반합니까?
고유 한 제약 조건이있는 테이블이 있는데, 관련이있는 경우 두 명의 사용자가 Save is pressed) 테이블을 업데이트하십시오.
테이블이 NAMES (ID int, NAME varchar (20))이고 고유 제한 조건이 NAME에있는 경우, 저장하려는 첫 번째 사용자가 NAME 'David'및 'John'을 추가하면 괜찮습니다. 두 번째 사용자가 NAME 'John'및 'Susan'이있는 행을 포함하는 DataTable을 사용하여 업데이트하려고하면 SqlException이 발생합니다. 그러나 내 DataTable에서 제약 조건을 위반 한 행을 알려주는 예외는 없습니다.
DB에서 고유 한 제약 조건의 구성에 대한 세부 정보를 얻은 다음이 정보를 사용하여 DataTable의 각 행을 검사하여 해당 행이 제약 조건을 위반하는지 확인하는 방법은 어떤 행이 잘못되었는지 확인하는 방법입니까? 또한
DataTable.GetErrors.Length가 0이므로 불행히도 도움이되지 않습니다. – dmlinliverpool
은 내가 (말) nullable이 아닌 열에서 널을했다 DataTable의에 행을 추가 더라면 DataTable.GetErrors에 오류가있을 기대하지만 DataTable을에있는 행은 유효한 행입니다. DB에 이미있는 행과 충돌하는 경우가 있습니다. – dmlinliverpool
DataTable에서 데이터베이스로 데이터를 가져 오기 위해 사용하고있는 것은 무엇입니까? DataAdapter? –