DataSet 提供 MergeFailed 事件,该事件将在所合并的 DataSet 对象的架构发生冲突时引发。例如,如果所合并的表的主键列在两个 DataSet 对象中的表之间有所不同,则将引发异常并引发 MergeFailed 事件。传递给 MergeFailed 事件的 MergeFailedEventArgs 具有 Conflict 属性(它标识两个 DataSet 对象之间的架构冲突)和 Table 属性(它标识发生冲突的表的名称)。
有关使用 DataSet 时可使用的其他事件的信息,请参阅处理 DataTable 事件和使用 DataAdapter 事件。
以下代码示例将 MergeFailed 事件添加到一个事件处理程序中。
[Visual Basic]
Dim custDS As DataSet = New DataSet
AddHandler workDS.MergeFailed, New MergeFailedEventHandler(AddressOf
DataSetMergeFailed)
Private Shared Sub DataSetMergeFailed(sender As Object, args As
MergeFailedEventArgs)
Console.WriteLine("Merge failed for table " &
args.Table.TableName)
Console.WriteLine("Conflict = " & args.Conflict)
End Sub
[C#]
DataSet custDS = new DataSet();
workDS.MergeFailed += new MergeFailedEventHandler(DataSetMergeFailed);
private static void DataSetMergeFailed(object sender, MergeFailedEventArgs args)
{
Console.WriteLine("Merge failed for table " +
args.Table.TableName);
Console.WriteLine("Conflict = " + args.Conflict);
}