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가 변경됩니다. 즉, 모든 Added 및 Modified 행이 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 네임스페이스