다음을 통해 공유


방법: 동시성 오류 처리

업데이트: 2007년 11월

DBConcurrencyException 개체를 catch하면 동시성 위반으로 발생하는 문제를 쉽게 해결할 수 있습니다. DBConcurrencyException 개체는 오류가 발생한 데이터 행을 반환합니다. 자세한 내용은 DBConcurrencyException 멤버를 참조하십시오.

다음 예제에서는 try/catch 블록 내에서 데이터 소스를 NorthwindDataSet의 내용으로 업데이트하려고 시도합니다. 오류가 발생하면 해당 데이터 행의 첫 열과 함께 오류 메시지가 표시됩니다.

참고:

아래의 코드는 데이터베이스 업데이트 오류를 처리하는 한 가지 방법을 보여 줍니다. 이 코드는 데이터베이스에 대한 기존 연결과 기존 데이터 집합을 가정할 뿐 아니라 업데이트 명령을 실행하면 동시성 위반이 발생한다고 가정합니다. 자세한 내용과 전체 예제를 보려면 연습: 동시성 예외 처리를 참조하십시오.

동시성 위반을 해결하려면

  1. try/catch 블록 내에서 데이터베이스를 업데이트하는 명령을 실행합니다.

  2. 예외가 발생하면 catch 문의 Row 속성을 검사하여 위반이 발생한 행을 확인합니다.

  3. 사용자 응용 프로그램의 비즈니스 규칙에 따라 오류를 해결하는 코드를 추가합니다.

    다음 코드에서는 CustomersTableAdapter와 NorthwindDataSet을 응용 프로그램의 데이터 어댑터와 데이터 집합의 예제로 사용합니다.

    Try
        CustomersTableAdapter.Update(NorthwindDataSet)
    
    Catch ex As DBConcurrencyException
    
        Dim customErrorMessage As String
        customErrorMessage = "Concurrency violation" & vbCrLf
        customErrorMessage += CType(ex.Row.Item(0), String)
        MessageBox.Show(customErrorMessage)
    
        ' Add business logic code to resolve the concurrency violation...
    
    End Try
    
    try
    {
        customersTableAdapter.Update(northwindDataSet);
    }
    catch (DBConcurrencyException ex)
    {
        string customErrorMessage;
        customErrorMessage = "Concurrency violation\n";
        customErrorMessage += ex.Row[0].ToString();
    
        // Add business logic code to resolve the concurrency violation...
    }
    

참고 항목

개념

데이터의 새로운 기능

데이터 표시 개요

기타 리소스

데이터 연습

Visual Studio에서 데이터에 연결

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

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

Windows 응용 프로그램에서 폼에 데이터 표시

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

데이터 유효성 검사

데이터 저장