次の方法で共有


DataSet.HasErrors プロパティ

この DataSet 内の DataTable オブジェクトのいずれかにエラーがあるかどうかを示す値を取得します。

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 内の各 DataTable には HasErrors プロパティもあります。個別の DataTable オブジェクトを確認する前に、まず DataSetHasErrors プロパティを使用して、いずれかのテーブルにエラーがあるかどうかを確認します。 DataTable にエラーがある場合は、 GetErrors メソッドが、エラーのある DataRow オブジェクトの配列を返します。

使用例

[Visual Basic, C#, C++] HasErrors プロパティを使用して、 DataSet オブジェクトにエラーがあるかどうかを確認する例を次に示します。エラーがある場合は、各 DataTable 内の各 DataRow のエラーが出力されます。

 
Private Sub CheckForErrors()
   If Not DataSet1.HasErrors Then
       DataSet1.Merge(DataSet2)
   Else
      PrintRowErrs(DataSet1)
   End If
End Sub

Private Sub PrintRowErrs(ByVal myDataSet As DataSet)
   Dim myRow As DataRow
   Dim myTable As DataTable
   For Each myTable In  myDataSet.Tables
      For Each myRow In myTable.Rows
         If myRow.HasErrors Then
            Console.WriteLine(myRow.RowError)
         End If
      Next
   Next
End Sub

[C#] 
private void CheckForErrors(){
   if(!DataSet1.HasErrors){
       DataSet1.Merge(DataSet2);
   }
   else{
      PrintRowErrs(DataSet1);
   }
}

private void PrintRowErrs(DataSet myDataSet){
   foreach(DataTable myTable in myDataSet.Tables){
      foreach(DataRow myRow in myTable.Rows){
         if(myRow.HasErrors){
            Console.WriteLine(myRow.RowError);
         }
      }
   }
}

[C++] 
private:
 void CheckForErrors(){
    if(!DataSet1->HasErrors){
        DataSet1->Merge(DataSet2);
    }
    else{
       PrintRowErrs(DataSet1);
    }
 }
 
 void PrintRowErrs(DataSet* myDataSet){
    System::Collections::IEnumerator* myEnum = myDataSet->Tables->GetEnumerator();
    while (myEnum->MoveNext())
    {
       DataTable* myTable = __try_cast<DataTable*>(myEnum->Current);
       System::Collections::IEnumerator* myEnum1 = myTable->Rows->GetEnumerator();
       while (myEnum1->MoveNext())
       {
          DataRow* myRow = __try_cast<DataRow*>(myEnum1->Current);
          if(myRow->HasErrors){
             Console::WriteLine(myRow->RowError);
          }
       }
    }
 }

[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

参照

DataSet クラス | DataSet メンバ | System.Data 名前空間 | GetChanges