다음을 통해 공유


DataRow 삭제

업데이트: November 2007

DataTable 개체에서 DataRow 개체를 삭제하는 데 사용할 수 있는 메서드에는 두 가지가 있습니다. 하나는 DataRowCollection 개체의 Remove 메서드이고, 다른 하나는 DataRow 개체의 Delete 메서드입니다. Remove 메서드는 DataRowCollection에서 DataRow를 삭제하는 반면, Delete 메서드는 삭제할 행을 표시만 합니다. 응용 프로그램에서 AcceptChanges 메서드를 호출할 때 행이 실제로 삭제됩니다. Delete를 사용하면 행을 실제로 삭제하기 전에 삭제 표시된 행을 프로그래밍 방식으로 확인할 수 있습니다. 삭제 표시된 행의 RowState 속성은 Deleted로 설정됩니다.

DataSet 또는 DataTableDataAdapter 및 관계형 데이터 소스와 함께 사용할 경우 DataRowDelete 메서드를 사용하여 행을 제거합니다. Delete 메서드는 DataSet 또는 DataTable에서 행을 Deleted로 표시만 하고 제거하지는 않습니다. 대신 DataAdapterDeleted로 표시된 행을 발견하면 DeleteCommand 메서드를 실행하여 데이터 소스에서 행을 삭제합니다. 그런 다음 AcceptChanges 메서드를 사용하여 행을 영구적으로 제거합니다. Remove를 사용하여 행을 삭제할 경우 해당 행은 테이블에서 완전히 제거되지만 DataAdapter는 데이터 소스에서 행을 삭제하지 않습니다.

다음 예제와 같이 DataRowCollectionRemove 메서드는 DataRow를 인수로 사용하여 컬렉션에서 제거합니다.

workTable.Rows.Remove(workRow)
workTable.Rows.Remove(workRow);

반면에, 다음 예제에서는 DataRow에서 Delete 메서드를 호출하여 RowStateDeleted로 변경하는 방법을 보여 줍니다.

workRow.Delete
workRow.Delete();

행이 삭제 표시된 상태에서 DataTable 개체의 AcceptChanges 메서드를 호출하면 해당 행은 DataTable에서 삭제됩니다. 반대로, RejectChanges를 호출하면 RowStateDeleted로 표시되기 전의 상태로 돌아갑니다.

참고:

DataRowRowStateAdded인 경우, 이 행이 테이블에 추가되고 Deleted로 표시되어 테이블에서 삭제되는 것을 의미합니다.

참고 항목

참조

DataRow

DataRowCollection

DataTable

기타 리소스

DataTable에서 데이터 조작