2011-03-21 2 views
0

내가 오류 메시지가 속성의 SqlDataSource "업데이트 쿼리"로 이동하고 코드를 작성하지만 보여 DataGridView에 내 데이터를 업데이트하기 위해 노력하고있어편집 및 것은 PRIMARY KEY의

"위반 데이터 그리드보기에 레코드를 업데이트 제약 'PK_contact_master는'. 'dbo.admission_table'개체에 중복 키를 삽입 할 수 없습니다. 을 문이 종료되었습니다. "

을 PLZ 나에게있는 DataGridView에서 데이터를 편집의 정확한 코드를 이야기하고 업데이트 ..

감사, Churchill

UPDATE :

는 SQL 코드 : 당신이 당신의 문제처럼 보인다 제공되는 SQL 쿼리를 기반으로

Update admission_table 
set [email protected]_id, 
[email protected]_of_degree, 
[email protected]_paid, 
[email protected], 
[email protected]_fees, 
[email protected]_of_student, 
Dat­[email protected]_of_birth, 
[email protected], 
[email protected], 
[email protected]­s, 
[email protected]_no, 
[email protected]_mail, 
[email protected] 
+0

지금 우리가 갖고있는 코드를 정확히 알려주십시오. –

+0

admission_table 설정 registration_id = @ registration_id, name_of_degree = @ name_of_degree, fees_paid = @ fee_paid, hostel = @ hostel_fees = @ hostel_fees, name_of_student = @ name_of_student, Date_of_birth = @ Date_of_birth, 국적 = @ 국적, gender = @ 성별, 주소 = @ address, phone_no = @ phone_no, e_mail = @ e_mail, date = @ date – Churchill

+1

registration_id 열은 내 테이블의 기본 키이고 @registration_id와 동일한 것은 내 테이블 열의 이름입니다. – Churchill

답변

2

당신이 당신의 업데이트 쿼리에 where 절을하지 않아도 그리고 당신은 것으로 나타납니다 업데이트에서 기본 키를 설정합니다.

즉, 테이블의 모든 레코드를 동일한 정보로 업데이트하고 PK를 위반하게됩니다.

이 문제를 해결하려면 먼저 where 절을 추가하십시오. 원하는 레코드 만 업데이트하면 set 절에서 registration_id을 제거 할 수 있습니다 (사용자의 pk라고 가정).

+1

내 문제를 해결 .... 그리고 그것의 완벽하게 작동 ..thank_u – Churchill