DataSet.MergeFailed Event


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Occurs when a target and source DataRow have the same primary key value, and EnforceConstraints is set to true.

Namespace:   System.Data
Assembly:  System.Data (in System.Data.dll)

public event MergeFailedEventHandler MergeFailed

For more information about handling events, see NIB: Consuming Events.

The following example demonstrates the use of the MergeFailed event.

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.

    // 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.
    dataSet.Merge(t2, false, MissingSchemaAction.Add);

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

.NET Framework
Available since 1.1
Return to top