DataSet.MergeFailed Event
.NET Framework 4.5
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)
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.
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 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.