次の方法で共有


DataRow.GetColumnsInError メソッド

定義

エラーが含まれる列の配列を取得します。

public:
 cli::array <System::Data::DataColumn ^> ^ GetColumnsInError();
public System.Data.DataColumn[] GetColumnsInError ();
member this.GetColumnsInError : unit -> System.Data.DataColumn[]
Public Function GetColumnsInError () As DataColumn()

戻り値

エラーが含まれる DataColumn オブジェクトの配列。

次の例では、 を HasErrors 使用してエラーを検索します。 行にエラーがある場合、 GetColumnsInError メソッドはエラーを含む列の配列を返し、解決できます。 ClearErrorsその後、 メソッドが呼び出され、すべてのエラーがクリアされます。

private void GetAllErrs(DataRow row)
{
    // Declare an array variable for DataColumn objects.
    DataColumn[] colArr;
    // If the Row has errors, check use GetColumnsInError.
    if(row.HasErrors)
    {
        // Get the array of columns in error.
        colArr = row.GetColumnsInError();
        for(int i = 0; i < colArr.Length; i++)
        {
            // Insert code to fix errors on each column.
            Console.WriteLine(colArr[i].ColumnName);
        }
        // Clear errors after reconciling.
        row.ClearErrors();
    }
}
Private Sub GetAllErrs(ByVal row As DataRow)
    ' Declare an array variable for DataColumn objects.
    Dim colArr() As DataColumn 

    ' If the Row has errors, check use GetColumnsInError.
    Dim i As Integer
    If row.HasErrors Then 
       ' Get the array of columns in error.
       colArr = row.GetColumnsInError()
       For i = 0 to colArr.GetUpperBound(0)
          ' Insert code to fix errors on each column.
          Console.WriteLine(colArr(i).ColumnName)
       Next i

    ' Clear errors after reconciling.
    row.ClearErrors()
    End If
 End Sub

注釈

GetColumnsInErrorを使用すると、エラーが発生した列のみを返すことで、エラーに対して処理する必要があるオブジェクトの数DataColumnを減らすことができます。 エラーは、 メソッドを使用して個々の列に SetColumnError 設定できます。 処理の数をさらに減らすには、 を呼び出す前にDataRow、 クラスの プロパティを調べてHasErrors、 にエラーがあるかどうかをDataRow確認しますGetColumnsInError

行のすべての ClearErrors エラーをクリアするには、 メソッドを使用します。 これには RowError が含まれます。

適用対象

こちらもご覧ください