DataSet イベントの使用
DataSet には、オブジェクトのスキーマのマージで競合が発生すると、生成される MergeFailed イベントが設定されています。たとえば、マージ対象のテーブルの主キーの列が 2 つの DataSet オブジェクトのテーブル間で異なる場合、例外がスローされ、MergeFailed イベントが発生します。MergeFailed イベントに渡される MergeFailedEventArgs には、2 つの DataSet オブジェクト間のスキーマで発生した競合を示す Conflict プロパティ、および競合が発生したテーブルの名前を示す Table プロパティがあります。
DataSet の使用時に使用できるその他のイベントについては、「DataTable イベントの使用」および「DataAdapter イベントの使用」を参照してください。
MergeFailed イベントをイベント ハンドラに追加するコード例を次に示します。
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);
}
参照
DataSet の作成および使用 | DataSet クラス | MergeFailedEventArgs クラス | PropertyChangedEventArgs クラス