次の方法で共有


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 クラス