2009-12-23 4 views
2

안녕하세요, 저는 현재 완전히 손해보고 있습니다. CRUD 응용 프로그램에서 중복 키 값이 발생할 때 ValidationError를 발생시키는 온라인 튜토리얼이 없습니다.WPF 기본 키 유효성 확인

기본적으로 데이터 입력 양식이있어서 확인 버튼을 클릭하면 데이터베이스에 레코드가 삽입됩니다. 이 테이블은 열 중 하나에서 기본 키 제약 조건을 적용했습니다. 중복 된 PK 값을 가진 레코드를 삽입 할 때 레코드 삽입을 수행하는 메서드의 catch 블록에 코드를 작성했습니다. 오류 코드를 분석 할 때 발생한 예외를 잡을 수 있습니다. 하지만

두 질문 :

  1. 어떻게 텍스트 상자 일부 색상이나 뭔가를 음영 같은 사용자가 실제로 ValidationError을 제기하고 시각적으로 메시지를 표시하는 코드를 작성합니까?

  2. 정확하게 어떤 필드에서 오류가 발생했는지 어떻게 알 수 있습니까? SQLErrors를 트래핑하고 오류 코드를 확인하면 오류가 발생했음을 알 수 있지만 오류를 일으킨 필드를 정확히 알려주지 않습니다.

대단히 감사합니다. 정말 모든 포인터 또는 이것을 커버하는 자습서를 주셔서 감사합니다.

사용 된 Db는 db2입니다.

답변

1

어때요?

http://joshsmithonwpf.wordpress.com/2008/11/14/using-a-viewmodel-to-provide-meaningful-validation-error-messages/

이 튜토리얼은 질문 # 1에 답해야한다.

2 번 질문에 대해 중복 필드가있는 레코드를 삽입하면 특정 데이터 입력 필드에 어떻게 링크되는지 이해할 수 없습니다. 사실 데이터베이스가 기본 키 값을 자동으로 할당하고 증가시키지 않아야합니까? 이것은 중복 키의 가능성을 완전히 제거합니다.

+0

안녕하세요. 빠른 답변을 보내 주셔서 감사합니다. 그러나 다른 클래스 (예 : 데이터베이스와 통신하는 클래스)에서 발생한 예외는 다루지 않습니다. 나는 그 기사를 읽었지 만, 나의 미약 한 두뇌는 나의 기본 키 확인 목적에 맞게 예제를 개조 할 수 없다. –

+0

기본 키 값은 ID 필드 일 필요는 없습니다. 기본 키는 테이블에 고유성을 적용합니다. 예 : 사회 보장 번호? 중복 된 항목은 허용되어서는 안됩니다. 그렇다면 그 문제에 대해 어떻게 ValidationError를 발생시킬 수 있습니까? –

+0

좋아요, 사용자가 일종의 ID 번호를 입력하게하고 데이터베이스가이 번호를 사용하여 사용자가 이미 계정을 만들었는지 확인하고 있다고 말하는 것입니까? 맞으면 ID 입력란을 강조 표시하여 (예 : 빨간색으로 표시) 실제로이 유형의 오류를 알리는 적절한 UI가 아닙니다. 계정이 이미 있음을 사용자에게 알리는 대화 상자가 나타납니다. 이 시점에서 사용자에게 프로파일을 편집 할 수있는 옵션을 제공하는 것이 좋습니다. 그러나 나는이 상황이 표준'ValidationError' 시나리오를 벗어나는 것이라고 생각한다. – devuxer