DataAdapter イベントの操作
MsDb2DataAdapter
では、データ ソースのデータに加えられた変更に応答するために使用できる 2 つのイベントが公開されます。 MsDb2DataAdapter
のイベントを次の表に示します。
event | 説明 |
---|---|
RowUpdating | 行に対する UPDATE、INSERT、または DELETE の各操作が (Update メソッドの 1 つの呼び出しによって) 開始しようとしています。 |
RowUpdated | 行に対する UPDATE、INSERT、DELETE の各操作が (Update メソッドの 1 つの呼び出しによって) 完了しました。 |
RowUpdating
は、データセットから行への更新がデータ ソースで処理される前に発生します。 RowUpdated
は、データセットから行への更新がデータ ソースで処理された後に発生します。 その結果、 を使用 RowUpdating
して、更新が発生する前に更新動作を変更したり、更新時に追加の処理を提供したり、更新された行への参照を保持したり、現在の更新を取り消してバッチ 処理を後で処理するようにスケジュールしたりできます。 RowUpdated
は、更新中に発生するエラーや例外の応答に便利です。 エラー情報や再試行ロジックなどをデータセットに追加できます。
引数
MsDb2RowUpdatingEventArgs
イベントと MsDb2RowUpdatedEventArgs
イベントにRowUpdating
渡される 引数と RowUpdated
引数には、次のものがあります。
Command
更新の実行にCommand
使用される オブジェクトを参照する プロパティ。Row
更新された情報をDataRow
含む オブジェクトを参照する プロパティ。StatementType
実行されている更新の種類のプロパティ。該当する場合は
TableMapping
。操作の
Status
。プロパティを
Status
使用すると、操作中にエラーが発生したかどうかを判断し、必要に応じて、現在の行と結果の行に対してアクションを制御できます。 イベントが発生すると、Status
プロパティはContinue
またはErrorsOccurred
のいずれかになります。
Status プロパティの値
次の表は、更新中の後続のアクションを Status
制御するために プロパティを設定できる値を示しています。
Status | 説明 |
---|---|
続行 | 更新操作を続行します。 |
ErrorsOccurred | 更新操作を中止し、例外をスローします。 |
SkipCurrentRow | 現在の行を無視し、更新操作を続行します。 |
SkipAllRemainingRows | 更新操作を中止しますが、例外はスローしません。 |
Status
プロパティを ErrorsOccurred
に設定すると、例外がスローされます。 Errors
プロパティを例外として設定することで、どの例外をスローするかを制御できます。 Status
に他の値を使用すると、例外はスローされません。