다음을 통해 공유


방법: 변경된 행 검사

데이터 집합의 레코드를 변경하는 경우 변경 내용을 커밋할 때까지는 변경 내용에 대한 정보가 저장됩니다. 변경 내용은 데이터 집합이나 데이터 테이블의 AcceptChanges 메서드를 호출하거나 TableAdapter나 데이터 어댑터의 Update 메서드를 호출할 때 커밋됩니다.

각 데이터 행의 변경 내용은 다음과 같은 두 가지 방식으로 추적됩니다.

  • 각 데이터 행에는 해당 시점의 RowState에 대한 정보(예: Added, Modified, Deleted, Unchanged)가 들어 있습니다.

  • 변경된 각 데이터 행에는 해당 행의 여러 버전(DataRowVersion) 즉, 변경 전 원래 버전과 변경 후 현재 버전이 들어 있으며 액세스가 가능합니다. 변경 내용이 보류되는 기간 동안에는 RowChanging 이벤트에 응답할 수 있으며 이 기간 동안에는 세 번째 버전인 제안된 버전을 사용할 수도 있습니다. 자세한 내용은 방법: DataRow의 특정 버전 가져오기를 참조하십시오.

변경된 행이 있는지 확인

데이터 집합의 HasChanges 메서드는 데이터 집합에 변경된 내용이 있으면 true를 반환합니다. 변경된 행이 있는지 확인한 후에는 DataSet 또는 DataTable의 GetChanges 메서드를 호출하여 변경된 행 집합을 반환할 수 있습니다. 자세한 내용은 방법: 변경된 행 검색을 참조하십시오.

임의의 행에 변경된 내용이 있는지 확인하려면

  • 데이터 집합의 HasChanges 메서드를 호출하여 변경된 행을 검사합니다.

    다음 예제에서는 HasChanges 메서드의 반환 값을 검사하여 NorthwindDataset1이라는 데이터 집합에 변경된 행이 있는지를 확인하는 방법을 보여 줍니다.

    If NorthwindDataSet1.HasChanges() Then
    
        ' Changed rows were detected, add appropriate code.
    Else
        ' No changed rows were detected, add appropriate code. 
    End If
    
    if (northwindDataSet1.HasChanges()) 
    {
        // Changed rows were detected, add appropriate code.
    }
    else
    {
        // No changed rows were detected, add appropriate code.
    }
    

변경 유형 확인

DataRowState 열거형의 값을 HasChanges 메서드로 전달하여 데이터 집합에서 이루어진 변경 유형을 검사할 수도 있습니다.

행에 대한 변경 유형을 확인하려면

  • DataRowState 값을 HasChanges 메서드로 전달합니다.

    다음 예제에서는 NorthwindDataset1라는 데이터 집합을 검사하여 이 데이터 집합에 새 행이 추가되었는지를 확인하는 방법을 보여 줍니다.

    If NorthwindDataSet1.HasChanges(DataRowState.Added) Then
    
        ' New rows have been added to the dataset, add appropriate code.
    Else
        ' No new rows have been added to the dataset, add appropriate code.
    End If
    
    if (northwindDataSet1.HasChanges(DataRowState.Added)) 
    {
        // New rows have been added to the dataset, add appropriate code.
    }
    else
    {
        // No new rows have been added to the dataset, add appropriate code.
    }
    

참고 항목

개념

데이터 응용 프로그램 개발의 새로운 기능

Visual Studio에서 데이터에 Windows Forms 컨트롤 바인딩

Visual Studio에서 데이터에 컨트롤 바인딩

기타 리소스

응용 프로그램에서 데이터 편집

데이터 연습

Visual Studio에서 데이터에 연결

데이터를 받기 위해 응용 프로그램 준비

데이터를 응용 프로그램으로 페치

데이터 유효성 검사

데이터 저장