Freigeben über


Arbeiten mit DataSet-Ereignissen

Das DataSet stellt ein MergeFailed-Ereignis bereit, das ausgelöst wird, wenn die Schemas der zusammenzuführenden DataSet-Objekte in Konflikt stehen. Wenn z. B. die zusammenzuführenden Spalten für den Primärschlüssel einer Tabelle in den beiden DataSet-Objekten der Tabellen verschieden sind, wird eine Ausnahme ausgegeben und das MergeFailed-Ereignis wird ausgelöst. Die an das MergeFailed-Ereignis übergebenen MergeFailedEventArgs besitzen eine Conflict-Eigenschaft, die den Konflikt im Schema zwischen den beiden DataSet-Objekten angibt, und eine Table-Eigenschaft, die den Namen der in Konflikt stehenden Tabelle zeigt.

Informationen zu weiteren Ereignissen, die bei der Arbeit mit einem DataSet verfügbar sind, finden Sie unter Verwenden von DataTable-Ereignissen und Arbeiten mit DataAdapter-Ereignissen.

Im folgenden Codebeispiel wird das MergeFailed-Ereignis zu einem Ereignishandler hinzugefügt.

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

Siehe auch

Erstellen und Verwenden von DataSets | DataSet-Klasse | MergeFailedEventArgs-Klasse | PropertyChangedEventArgs-Klasse