DataSet.MergeFailed 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当目标和源 DataRow 的主键值相同且 EnforceConstraints 设置为真时发生。
public:
event System::Data::MergeFailedEventHandler ^ MergeFailed;
public event System.Data.MergeFailedEventHandler? MergeFailed;
public event System.Data.MergeFailedEventHandler MergeFailed;
[System.Data.DataSysDescription("DataSetMergeFailedDescr")]
public event System.Data.MergeFailedEventHandler MergeFailed;
member this.MergeFailed : System.Data.MergeFailedEventHandler
[<System.Data.DataSysDescription("DataSetMergeFailedDescr")>]
member this.MergeFailed : System.Data.MergeFailedEventHandler
Public Custom Event MergeFailed As MergeFailedEventHandler
事件类型
- 属性
示例
下面的示例演示如何使用 MergeFailed 事件。
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
注解
有关如何处理事件的详细信息,请参阅 处理和引发事件。