次の方法で共有


DataTable.LoadDataRow メソッド

特定の行を検索し、更新します。一致する行が見つからない場合は、指定した値を使用して新しい行が作成されます。

Public Function LoadDataRow( _
   ByVal values() As Object, _   ByVal fAcceptChanges As Boolean _) As DataRow
[C#]
public DataRow LoadDataRow(object[] values,boolfAcceptChanges);
[C++]
public: DataRow* LoadDataRow(Object* values __gc[],boolfAcceptChanges);
[JScript]
public function LoadDataRow(
   values : Object[],fAcceptChanges : Boolean) : DataRow;

パラメータ

  • values
    新しい行の作成に使用する値の配列。
  • fAcceptChanges
    変更を受け入れる場合は true 。それ以外の場合は false

戻り値

新しい DataRow

例外

例外の種類 条件
ArgumentException 配列がテーブルの列数より大きいです。
InvalidCastException 値が各列の型と一致していません。
ConstraintException この行を追加すると、制約が無効になります。
NoNullAllowedException AllowDBNull が false である列に null を格納しようとしています。

解説

LoadDataRow メソッドは、値の配列を取得し、1 つ以上の主キー列内の一致する値を検索します。

列に既定値がある場合は、配列で null 値を渡して、その列の既定値を設定します。同様に、列の AutoIncrement プロパティが true に設定されている場合は、配列で null 値 を渡して、その行に自動生成値を設定します。

fAcceptChanges パラメータが true であるか、指定されていない場合は、新しいデータが追加され、 AcceptChanges が呼び出されて DataTable 内のすべての変更が受け入れられます。この引数が false の場合は、新しく追加された行に挿入マークが付けられ、既存の行への変更に変更マークが付けられます。

ColumnChanging イベントまたは RowChanging イベント中に例外が発生することがあります。例外が発生した場合、その行はテーブルに追加されません。

LoadDataRowBeginLoadData および EndLoadData と組み合わせて使用します。

使用例

[Visual Basic, C#, C++] LoadDataRow メソッドを使用して行を検索する例を次に示します。行が見つからなかった場合は、値を使用して新しい行が作成されます。

 
Private Sub MyAddUpdate(ByVal myTable As DataTable)
    ' Create an array for the values.
    Dim newRow(2) As Object
   ' Set the values of the array.
    newRow(0) = "Hello"
    newRow(1) = "World"
    newRow(2) = "two"
    Dim myRow As DataRow
    myTable.BeginLoadData()
    ' Add the new row to the rows collection.
    myRow = myTable.LoadDataRow(newRow, True)
    myTable.EndLoadData()
End Sub

[C#] 
private void MyAddUpdate(DataTable myTable){
    // Create an array for the values.
    object[] newRow = new object[3];
   // Set the values of the array.
    newRow[0] = "Hello";
    newRow[1] = "World";
    newRow[2] = "two";
    DataRow myRow;
    myTable.BeginLoadData();
    // Add the new row to the rows collection.
    myRow = myTable.LoadDataRow(newRow, true);
    myTable.EndLoadData();
}

[C++] 
private:
 void MyAddUpdate(DataTable* myTable){
     // Create an array for the values.
     Object* newRow[] = new Object*[3];
    // Set the values of the array.
     newRow[0] = S"Hello";
     newRow[1] = S"World";
     newRow[2] = S"two";
     DataRow* myRow;
     myTable->BeginLoadData();
     // Add the new row to the rows collection.
     myRow = myTable->LoadDataRow(newRow, true);
     myTable->EndLoadData();
 }

[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 名前空間