This documentation is archived and is not being maintained.

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 System.Data.dll)

public event MergeFailedEventHandler MergeFailed

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);

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.