DbDataAdapter.FillError イベント
格納操作中にエラーが発生したときに返されます。
Public Event FillError As FillErrorEventHandler
[C#]
public event FillErrorEventHandler FillError;
[C++]
public: __event FillErrorEventHandler* FillError;
[JScript] JScript では、このクラスで定義されているイベントを処理できます。ただし、独自に定義することはできません。
イベント データ
イベント ハンドラが、このイベントに関連するデータを含む、FillErrorEventArgs 型の引数を受け取りました。次の FillErrorEventArgs プロパティには、このイベントの固有の情報が記載されます。
プロパティ | 説明 |
---|---|
Continue | エラーが発生しても格納操作を続行するかどうかを示す値を取得または設定します。 |
DataTable | エラーが発生したときに更新されていた DataTable を取得します。 |
Errors | 処理中のエラーを取得します。 |
Values | エラーが発生したときに更新されていた行の値を取得します。 |
解説
FillError イベントを使用すると、エラーの発生後も格納操作を続けるかどうかをユーザーに判定させることができます。 FillError イベントは、次のような場合に発生する可能性があります。
- DataSet に追加するデータを共通言語ランタイム型に変換することによって、データの精度が低下する場合。
- 追加する行に含まれるデータが、 DataSet 内の DataColumn に強制的に適用される Constraint に違反している場合。
FillError イベントを処理する関数をアプリケーションが宣言していない場合は、 InvalidCastException 例外が生成されます。
メモ エラーの原因がデータ ソースにある場合は、 FillError イベントは返されません。
使用例
[Visual Basic, C#, C++] FillError イベントをキャッチし、処理する方法を次の例に示します。この例では、 SqlDataAdapter および DataSet が作成されていることを前提にしています。
Private Shared Sub FillError(sender As Object, args As FillErrorEventArgs)
If args.Errors.GetType() Is Type.GetType("System.OverflowException") Then
' Code to handle Precision Loss
args.Continue = True
End If
End Sub
[C#]
protected static void FillError(object sender, FillErrorEventArgs args)
{
if (args.Errors.GetType() == typeof(System.OverflowException))
{
//Code to handle Precision Loss
args.Continue = true;
}
}
[C++]
static void FillError(Object* sender, FillErrorEventArgs* args) {
if (args->Errors->GetType() == __typeof(System::OverflowException))
{
//Code to handle Precision Loss
args->Continue = true;
}
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
DbDataAdapter クラス | DbDataAdapter メンバ | System.Data.Common 名前空間