문제

입력 한 데이터 세트가 있고 전화가 전화합니다. TableAdapter.Update(DataRow), 실행 된 SQL에는 데이터베이스의 기본 키 열의 업데이트가 포함됩니다.

불행히도이 코드가 복제 된 데이터베이스에서 실행되면 PK 열에는 rowguid 속성 세트와 다음 오류가 발생합니다.

System.data.sqlclient.sqlexception : rowguidcol 속성으로 열 업데이트는 허용되지 않습니다. 거래는 트리거에서 끝났습니다. 배치가 중단되었습니다. at System.data.common.dbdataadapter.updatedrowstatusErrors (rowupdatedeventArgs rowupdatedevent, batchcommandinfo [] batchcommands, int32 commandCount) at System.data.common.dbdataa ...

Tableadapter 가이 열을 업데이트하지 못하게하려면 어떻게합니까 (값은 동일)?

도움이 되었습니까?

해결책

업데이트 명령을 위해 생성 된 SQL을 수동으로 편집 할 수 있습니다. DataSet 디자이너는 어댑터를 클릭하고 찾으십시오 UpdateCommand. 기본 키를 업데이트하는 이유가 있습니까? 그렇지 않은 경우 (가능하다면 가능하다면) 명령에서 제거해야합니다.

다른 팁

열이 실제로 입력 된 데이터 세트의 기본 키로 표시된 경우 자동 생성 된 업데이트 된 명령문은 업데이트를 시도해서는 안됩니다. 디자이너를보고 실제로 기본 키임을 더블 점검 할 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top