2009-06-02 4 views
1

명령 개체에서 select 쿼리를 사용하여 ADO.net 데이터 집합을로드하고 있습니다. Acceptchanges를 사용하여 데이터 집합 데이터를 지우면 SQL Server의 데이터가 삭제됩니다.SQL Server의 데이터 집합 수락

만약에 어떻게하면 좋을지 알려주시겠습니까?

답변

1

아니요, 그렇지 않습니다.

DataTable의 각 DataRow가 'Deleted'로 표시되어 있는지 확인해야합니다. 즉, 각 행의 rowstate는 Deleted로 설정되어야합니다. 모든 행을 탐색하여이를 수행하고 각 행에 대해 Delete 메소드를 호출 할 수 있습니다.

그런 다음 AcceptChanges를 호출하기 전에 DataAdapter의 Update 메서드를 호출해야합니다. DB에서 변경 사항을 수행 한 후에 'AcceptChanges'를 호출해야 데이터 세트/데이터 테이블에 DB에 유지해야하는 변경 사항이 더 이상 포함되지 않음을 나타낼 수 있습니다. (AcceptChanges를 호출하면 RowState가 'Deleted'인 DataRow가 제거되고 다른 모든 DataRow의 RowState는 'UnChanged'로 변경됩니다.)

+1

일반적으로 AcceptChanges를 호출하지 않습니다. 당신의 테이블은 그것을 처리합니다. – Designpattern