다음을 통해 공유


DataSet.MergeFailed 이벤트

대상과 소스 DataRow의 기본 키 값이 같고 EnforceConstraints를 true로 설정한 경우 발생합니다.

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

구문

‘선언
Public Event MergeFailed As MergeFailedEventHandler
‘사용 방법
Dim instance As DataSet
Dim handler As MergeFailedEventHandler

AddHandler instance.MergeFailed, handler
public event MergeFailedEventHandler MergeFailed
public:
event MergeFailedEventHandler^ MergeFailed {
    void add (MergeFailedEventHandler^ value);
    void remove (MergeFailedEventHandler^ value);
}
/** @event */
public void add_MergeFailed (MergeFailedEventHandler value)

/** @event */
public void remove_MergeFailed (MergeFailedEventHandler value)
JScript에서는 이벤트를 사용할 수 있지만 새로 선언할 수는 없습니다.

설명

이벤트 처리에 대한 자세한 내용은 이벤트 사용을 참조하십시오.

예제

다음 예제에서는 MergeFailed 이벤트의 사용을 보여 줍니다.

Private Shared Sub DemonstrateMergeFailedEvent()
    ' Create a DataSet with one table containing two columns.
    Dim dataSet AS DataSet = New DataSet("dataSet")
    Dim table As DataTable = New DataTable("Items")
    
    ' Add table to the DataSet.
    dataSet.Tables.Add(table)

    ' Add two columns to the DataTable.
    table.Columns.Add("id", Type.GetType("System.Int32"))
    table.Columns.Add("item", Type.GetType("System.Int32"))

    ' Set the primary key to the first column.
    table.PrimaryKey = new DataColumn() { table.Columns("id") }

    ' Add MergeFailed event handler for the table.
    AddHandler dataSet.MergeFailed, _
        New MergeFailedEventHandler(AddressOf Merge_Failed)

    ' Create a second DataTable identical to the first, 
    Dim t2 As DataTable = table.Clone()

    ' Set the primary key of the new table to the second column.
    ' This will cause the MergeFailed event to be raised when the
    ' table is merged into the DataSet.
    t2.PrimaryKey = New DataColumn() { t2.Columns("item") }
    
    ' Merge table into the DataSet.
    Console.WriteLine("Merging...")
    dataSet.Merge(t2, false, MissingSchemaAction.Add)
End Sub

Private Shared Sub Merge_Failed(sender As object, _
    e As MergeFailedEventArgs)
    Console.WriteLine("Merge_Failed Event: '{0}'", e.Conflict)
End Sub
private static void DemonstrateMergeFailedEvent()
{
    // Create a DataSet with one table containing two columns.
    DataSet dataSet = new DataSet("dataSet");
    DataTable table = new DataTable("Items");

    // Add table to the DataSet.
    dataSet.Tables.Add(table);

    // Add two columns to the DataTable.
    table.Columns.Add("id", typeof(int));
    table.Columns.Add("item", typeof(int));

    // Set the primary key to the first column.
    table.PrimaryKey = new DataColumn[] { table.Columns["id"] };

    // Add MergeFailed event handler for the table.
    dataSet.MergeFailed += new MergeFailedEventHandler(Merge_Failed);

    // Create a second DataTable identical to the first, 
    DataTable t2 = table.Clone();

    // Set the primary key of the new table to the second column.
    // This will cause the MergeFailed event to be raised when the
    // table is merged into the DataSet.
    t2.PrimaryKey = new DataColumn[] { t2.Columns["item"] };

    // Merge the table into the DataSet.
    Console.WriteLine("Merging...");
    dataSet.Merge(t2, false, MissingSchemaAction.Add);
}

private static void Merge_Failed(object sender, MergeFailedEventArgs e)
{
    Console.WriteLine("Merge_Failed Event: '{0}'", e.Conflict);
}

플랫폼

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에서 지원

참고 항목

참조

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

기타 리소스

ADO.NET에서 DataSet 사용