방법: DataRow의 특정 버전 가져오기
데이터 행이 변경될 때 데이터 집합은 행의 원래 버전(Original)과 새 버전(Current)을 모두 보유합니다. 예를 들어, AcceptChanges 메서드를 호출하기 전에 응용 프로그램에서 DataRowVersion 열거형에 정의되어 있는 레코드의 다양한 버전에 액세스하여 변경 내용을 처리할 수 있습니다.
참고
서로 다른 행 버전은 해당 행을 편집한 후부터 AcceptChanges 메서드를 호출하기 전까지만 존재합니다.AcceptChanges 메서드를 호출한 다음에는 현재 버전과 원래 버전이 같아집니다.
열 인덱스 또는 문자열인 열 이름과 함께 DataRowVersion 값을 전달하면 해당 열의 특정 행 버전에서 값이 반환됩니다. ColumnChanging과 ColumnChanged 이벤트 동안 변경된 열이 확인되므로 이 시점이 유효성 검사를 목적으로 다양한 행 버전을 검사하기에 좋습니다. 하지만 제약 조건을 일시 중단하면 이러한 이벤트가 발생하지 않으므로 변경된 열을 프로그래밍 방식으로 식별해야 합니다. 이를 위해서는 Columns 컬렉션 전체를 반복하여 다양한 DataRowVersion 값을 비교해야 합니다.
DataRow의 원래 버전에 액세스
레코드의 원래 버전을 가져오려면
반환할 행의 DataRowVersion에 전달하여 열의 값에 액세스합니다.
다음 예제에서는 DataRowVersion 값을 사용하여 DataRow에서 CompanyName 필드의 원래 값을 가져오는 방법을 보여 줍니다.
Dim originalCompanyName = NorthwindDataSet1.Customers(0)( "CompanyName", DataRowVersion.Original).ToString()
string originalCompanyName; originalCompanyName = northwindDataSet1.Customers[0] ["CompanyName", DataRowVersion.Original].ToString();
DataRow의 현재 버전에 액세스
레코드의 현재 버전을 가져오려면
열 값에 액세스하여 반환해야 할 행의 버전을 나타내는 인덱스에 매개 변수를 추가합니다.
다음 예제에서는 DataRowVersion 값을 사용하여 DataRow에서 CompanyName 필드의 현재 값을 가져오는 방법을 보여 줍니다.
Dim currentCompanyName = NorthwindDataSet1.Customers(0)( "CompanyName", DataRowVersion.Current).ToString()
string currentCompanyName; currentCompanyName = northwindDataSet1.Customers[0] ["CompanyName", DataRowVersion.Current].ToString();
참고 항목
개념
Visual Studio에서 데이터에 Windows Forms 컨트롤 바인딩