DataSet.MergeFailed Evento

Definición

Se produce cuando unos DataRow de origen y de destino tienen el mismo valor de clave principal y EnforceConstraints se establece en true.Occurs when a target and source DataRow have the same primary key value, and EnforceConstraints is set to true.

public:
 event System::Data::MergeFailedEventHandler ^ MergeFailed;
[System.Data.DataSysDescription("DataSetMergeFailedDescr")]
public event System.Data.MergeFailedEventHandler MergeFailed;
member this.MergeFailed : System.Data.MergeFailedEventHandler 
Public Custom Event MergeFailed As MergeFailedEventHandler 
Atributos

Ejemplos

En el siguiente ejemplo se muestra el uso del evento MergeFailed.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);
}


Private Shared Sub DemonstrateMergeFailedEvent()
    ' Create a DataSet with one table containing two columns.
    Dim dataSet As New DataSet("dataSet")
    Dim table As 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

Comentarios

Para obtener más información acerca de cómo controlar eventos, vea controlar y provocar eventos.For more information about how to handle events, see Handling and Raising Events.

Se aplica a

Consulte también: