일부 열이있는 테이블이 있으며 해당 열 중 3 개에 고유 키를 설정하여 중복이 없는지 확인했습니다. 탁자. 이제 시도를 사용하여 catch 예외를 던지기 중복 및 다음 행을 삽입하는 계속 업데이트 궁금한 것 foreach
갈 좋은 방법은 무엇입니까?데이터의 무결성을 확인하는 유효한 방법으로 try/catch를 사용하거나 사용하지 않는 SQL에서 고유 키 사용
try {
sqlWrite.ExecuteNonQuery();
} catch (SqlException sqlException) {
if (!sqlException.ToString().Contains("Violation of UNIQUE KEY constraint")) {
MessageBox.Show("Error - " + Environment.NewLine + sqlException.ToString(), "Error SQL");
}
} catch (Exception exception) {
MessageBox.Show("Error - " + Environment.NewLine + exception.ToString(), "Error SQL");
}
행이 있는지 삽입 삽입을 건너 뛸 경우 삽입 쿼리에서 SELECT를 수행해야합니까? 나는 당신의 데이터 검증의 일부로 예외를 사용하는 것이 좋지 않다는 것을 읽었지만, 어떤 것들은 그렇게 사용되어야한다고 생각한다. (예를 들어, How to check For File Lock in C#?은 try/catch와 함께 사용되어야한다.)
http://www.mssqltips.com/sqlservertip/2632/checking-for-potential-constraint-violations-before-entering-sql-server-try-and-catch-logic/ –
감사합니다. 그것을 읽을 것입니다. – MadBoy