다음을 통해 공유


DataTable.AcceptChanges 메서드

AcceptChanges가 마지막으로 호출된 이후 이 테이블에서 변경된 내용을 모두 커밋합니다.

네임스페이스: System.Data
어셈블리: System.Data(system.data.dll)

구문

‘선언
Public Sub AcceptChanges
‘사용 방법
Dim instance As DataTable

instance.AcceptChanges
public void AcceptChanges ()
public:
void AcceptChanges ()
public void AcceptChanges ()
public function AcceptChanges ()

설명

AcceptChanges가 호출되면 아직 편집 모드에 있는 모든 DataRow 개체의 편집이 완료됩니다. 또한 DataRowState가 변경됩니다. 즉, 모든 AddedModified 행이 Unchanged가 되고 Deleted 행은 제거됩니다.

일반적으로 AcceptChanges 메서드는, DbDataAdapter.Update 메서드를 사용하여 DataSet의 업데이트를 시도한 후에 DataTable에 호출됩니다.

예제

다음 예제에서는 각 테이블의 오류를 테스트합니다. 테이블의 오류를 정의되지 않은 함수에 전달하여 해결할 수 있으면 AcceptChanges가 호출되고, 그렇지 않으면 RejectChanges가 호출됩니다.

Private Sub AcceptOrReject(table As DataTable)
    ' If there are errors, try to reconcile.
    If( Not table.HasErrors) 
       If(Reconcile(table))
          ' Fixed all errors.
          table.AcceptChanges
       Else
         ' Couldn'table fix all errors.
          table.RejectChanges
       End If
    Else
       ' If no errors, AcceptChanges.
       table.AcceptChanges()
    End If
 End Sub
 
Private Function Reconcile(thisTable As DataTable) As Boolean
    Dim row As DataRow
    For Each row in thisTable.Rows
       'Insert code to try to reconcile error.

       ' If there are still errors return immediately
       ' since the caller rejects all changes upon error.
       If row.HasErrors Then
           Reconcile = False
           Exit Function
       End If
    Next row
    Reconcile = True
 End Function
private void AcceptOrReject(DataTable table)
{
    // If there are errors, try to reconcile.
    if(!table.HasErrors)
    { 
        if(Reconcile(table))
        {
            // Fixed all errors.
            table.AcceptChanges();
        }
        else
        {
            // Couldn'table fix all errors.
            table.RejectChanges();
        }
    }
    else
        // If no errors, AcceptChanges.
        table.AcceptChanges();
}
 
private bool Reconcile(DataTable thisTable)
{
    foreach(DataRow row in thisTable.Rows)
    {
        //Insert code to try to reconcile error.

        // If there are still errors return immediately
        // since the caller rejects all changes upon error.
        if(row.HasErrors)
            return false;
    }
    return true;
}

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0, 1.0에서 지원

참고 항목

참조

DataTable 클래스
DataTable 멤버
System.Data 네임스페이스

기타 리소스

DataTable 작성 및 사용