次の方法で共有


DataTable.HasErrors プロパティ

テーブルが属する DataSet のいずれかのテーブルのいずれかの行にエラーがあるかどうかを示す値を取得します。

Public ReadOnly Property HasErrors As Boolean
[C#]
public bool HasErrors {get;}
[C++]
public: __property bool get_HasErrors();
[JScript]
public function get HasErrors() : Boolean;

プロパティ値

エラーがある場合は true 。それ以外の場合は false

解説

DataSet に格納されているデータセットを変更したときに検証が失敗した場合は、各変更にエラーのマークを付けることができます。 DataRow 全体にエラー メッセージを付けるには、 RowError プロパティを使用します。行の各列にエラーを設定するには、 SetColumnError メソッドを使用します。

DataSet でデータ ソースを更新する前に、最初にターゲットの DataSet に対して GetChanges メソッドを呼び出すことをお勧めします。このメソッドは、元のデータセットに対して行われた変更だけが格納された DataSet になります。更新のためにデータ ソースに DataSet を送信する前に、各テーブルの HasErrors プロパティをチェックして、行または行内の列にエラーがないかどうかを確認してください。

各エラーを調整した後、 DataRowClearErrors メソッドでエラーを消去します。

使用例

[Visual Basic, C#, C++] HasErrors プロパティを使用して、テーブルにエラーがあるかどうかを確認する例を次に示します。

 
Private Sub CheckForErrors(myDataSet As DataSet)
    ' Invoke GetChanges on the DataSet to create a reduced set.
    Dim xDataSet As DataSet = myDataSet.GetChanges()
    ' Check each table's HasErrors property.
    Dim xTable As DataTable
    For Each xTable In xDataSet.Tables
        ' If HasErrors is true, reconcile errors.
        If xTable.HasErrors Then
            ' Insert code to reconcile errors.
        End If
    Next xTable
End Sub

[C#] 
private void CheckForErrors(DataSet myDataSet) {
   // Invoke GetChanges on the DataSet to create a reduced set.
   DataSet xDataSet = myDataSet.GetChanges();
   // Check each table's HasErrors property.
   foreach(DataTable xTable in xDataSet.Tables) {
      // If HasErrors is true, reconcile errors.
      if(xTable.HasErrors) {
         // Insert code to reconcile errors.
      }
   }
}

[C++] 
private:
 void CheckForErrors(DataSet* myDataSet) {
    // Invoke GetChanges on the DataSet to create a reduced set.
    DataSet* xDataSet = myDataSet->GetChanges();
    // Check each table's HasErrors property.
    System::Collections::IEnumerator* myEnum = xDataSet->Tables->GetEnumerator();
    while (myEnum->MoveNext())
    {
       DataTable* xTable = __try_cast<DataTable*>(myEnum->Current);
       // If HasErrors is true, reconcile errors.
       if(xTable->HasErrors) {
          // Insert code to reconcile errors.
       }
    }
 }

[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 ファミリ, .NET Compact Framework - Windows CE .NET

参照

DataTable クラス | DataTable メンバ | System.Data 名前空間 | GetErrors