DataSet.MergeFailed Event

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

public event MergeFailedEventHandler MergeFailed
/** @event */
public void add_MergeFailed (MergeFailedEventHandler value)

/** @event */
public void remove_MergeFailed (MergeFailedEventHandler value)

In JScript, you can handle the events defined by a class, but you cannot define your own.
Not applicable.

For more information about handling events, see 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);

Windows 98, Windows Server 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

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0

XNA Framework

Supported in: 1.0