입력 된 데이터 세트 방지 PK 열 업데이트
-
05-07-2019 - |
문제
입력 한 데이터 세트가 있고 전화가 전화합니다. 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
. 기본 키를 업데이트하는 이유가 있습니까? 그렇지 않은 경우 (가능하다면 가능하다면) 명령에서 제거해야합니다.
다른 팁
열이 실제로 입력 된 데이터 세트의 기본 키로 표시된 경우 자동 생성 된 업데이트 된 명령문은 업데이트를 시도해서는 안됩니다. 디자이너를보고 실제로 기본 키임을 더블 점검 할 것입니다.