DataTable.GetErrors メソッド
エラーが含まれる DataRow オブジェクトの配列を取得します。
Public Function GetErrors() As DataRow()
[C#]
public DataRow[] GetErrors();
[C++]
public: DataRow* GetErrors() [];
[JScript]
public function GetErrors() : DataRow[];
戻り値
エラーが含まれる DataRow オブジェクトの配列。
解説
DataSet クラスの GetChanges メソッドを呼び出した後、 GetErrors を呼び出します。すべてのエラーが正常に解決され、 DataSet が更新のために再送信されるまでは、 DataTable で AcceptChanges を呼び出さないでください。
使用例
[Visual Basic, C#, C++] GetErrors メソッドを使用して、エラーがある DataRow オブジェクトの配列を返す例を次に示します。
Private Sub PrintAllErrs(ByVal myDataSet As DataSet)
Dim rowsInError() As DataRow
Dim myTable As DataTable
Dim i As Integer
Dim myCol As DataColumn
For Each myTable In myDataSet.Tables
' Test if the table has errors. If not, skip it.
If myTable.HasErrors Then
' Get an array of all rows with errors.
rowsInError = myTable.GetErrors()
' Print the error of each column in each row.
For i = 0 To rowsInError.GetUpperBound(0)
For Each myCol In myTable.Columns
Console.WriteLine(myCol.ColumnName, _
rowsInError(i).GetColumnError(myCol))
Next
' Clear the row errors
rowsInError(i).ClearErrors
Next i
End If
Next
End Sub
[C#]
private void PrintAllErrs(DataSet myDataSet){
DataRow[] rowsInError;
foreach(DataTable myTable in myDataSet.Tables){
// Test if the table has errors. If not, skip it.
if(myTable.HasErrors){
// Get an array of all rows with errors.
rowsInError = myTable.GetErrors();
// Print the error of each column in each row.
for(int i = 0; i < rowsInError.Length; i++){
foreach(DataColumn myCol in myTable.Columns){
Console.WriteLine(myCol.ColumnName + " " +
rowsInError[i].GetColumnError(myCol));
}
// Clear the row errors
rowsInError[i].ClearErrors();
}
}
}
}
[C++]
private:
void PrintAllErrs(DataSet* myDataSet){
DataRow* rowsInError[];
System::Collections::IEnumerator* myEnum = myDataSet->Tables->GetEnumerator();
while (myEnum->MoveNext())
{
DataTable* myTable = __try_cast<DataTable*>(myEnum->Current);
// Test if the table has errors. If not, skip it.
if(myTable->HasErrors){
// Get an array of all rows with errors.
rowsInError = myTable->GetErrors();
// Print the error of each column in each row.
for(int i = 0; i < rowsInError->Length; i++){
System::Collections::IEnumerator* myEnum1 = myTable->Columns->GetEnumerator();
while (myEnum1->MoveNext())
{
DataColumn* myCol = __try_cast<DataColumn*>(myEnum1->Current);
Console::WriteLine(S"{0} {1}", myCol->ColumnName, rowsInError[i]->GetColumnError(myCol));
}
// Clear the row errors
rowsInError[i]->ClearErrors();
}
}
}
}
[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 名前空間 | AcceptChanges | HasErrors | RowError | SetColumnError