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 イベント中に例外が発生することがあります。例外が発生した場合、その行はテーブルに追加されません。
LoadDataRow を BeginLoadData および 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