DataTable.LoadDataRow 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
查找和更新特定行。 如果找不到任何匹配行,则使用给定值创建新行。
重载
LoadDataRow(Object[], Boolean) |
查找和更新特定行。 如果找不到任何匹配行,则使用给定值创建新行。 |
LoadDataRow(Object[], LoadOption) |
查找和更新特定行。 如果找不到任何匹配行,则使用给定值创建新行。 |
LoadDataRow(Object[], Boolean)
- Source:
- DataTable.cs
- Source:
- DataTable.cs
- Source:
- DataTable.cs
查找和更新特定行。 如果找不到任何匹配行,则使用给定值创建新行。
public:
System::Data::DataRow ^ LoadDataRow(cli::array <System::Object ^> ^ values, bool fAcceptChanges);
public System.Data.DataRow LoadDataRow (object?[] values, bool fAcceptChanges);
public System.Data.DataRow LoadDataRow (object[] values, bool fAcceptChanges);
member this.LoadDataRow : obj[] * bool -> System.Data.DataRow
Public Function LoadDataRow (values As Object(), fAcceptChanges As Boolean) As DataRow
参数
- values
- Object[]
用于创建新行的值数组。
- fAcceptChanges
- Boolean
如果接受更改,则为 true
;否则为 false
。
返回
新的 DataRow。
例外
该数组大于表中的列数。
值与其各自的列类型不匹配。
添加行会使约束无效。
尝试将 null 值放到 AllowDBNull 为 false 的列中。
示例
以下示例使用 LoadDataRow 方法尝试查找行。 如果未找到此类行,则使用值创建新行。
using System;
using System.Data;
class MyDataSet {
public static void Main() {
DataTable dt = new DataTable();
DataColumn dc1 = new DataColumn("col1");
DataColumn dc2 = new DataColumn("col2");
DataColumn dc3 = new DataColumn("col3");
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
dt.Columns.Add(dc3);
// 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 row;
dt.BeginLoadData();
// Add the new row to the rows collection.
row = dt.LoadDataRow(newRow, true);
foreach (DataRow dr in dt.Rows) {
Console.WriteLine(String.Format("Row: {0}, {1}, {2}", dr["col1"], dr["col2"], dr["col3"]));
}
dt.EndLoadData();
}
}
Imports System.Data
Class MyDataSet
Public Shared Sub Main()
Dim dt As New DataTable()
Dim dc1 As New DataColumn("col1")
Dim dc2 As New DataColumn("col2")
Dim dc3 As New DataColumn("col3")
dt.Columns.Add(dc1)
dt.Columns.Add(dc2)
dt.Columns.Add(dc3)
' Create an array for the values.
Dim newRow As Object() = New Object(2) {}
' Set the values of the array.
newRow(0) = "Hello"
newRow(1) = "World"
newRow(2) = "two"
Dim row As DataRow
dt.BeginLoadData()
' Add the new row to the rows collection.
row = dt.LoadDataRow(newRow, True)
For Each dr As DataRow In dt.Rows
Console.WriteLine([String].Format("Row: {0}, {1}, {2}", dr("col1"), dr("col2"), dr("col3")))
Next
dt.EndLoadData()
End Sub
End Class
注解
方法 LoadDataRow 采用值数组,并在主键列 () 中查找匹配的值 (s) 。
如果列具有默认值,请在数组中传递 null 值以设置该列的默认值。 同样,如果列的 AutoIncrement 属性设置为 true,则传递数组中的 null 值以设置行自动生成的值。
fAcceptChanges
如果参数已true
指定或未指定,则添加新数据,然后AcceptChanges调用 以接受 中的所有DataTable更改;如果参数为 false
,则新添加的行将标记为插入,对现有行的更改将标记为修改。
在 或 RowChanging 事件期间ColumnChanging也可能发生异常。 如果发生异常,则不会将该行添加到表中。
LoadDataRow与 BeginLoadData 和 EndLoadData结合使用。
另请参阅
适用于
LoadDataRow(Object[], LoadOption)
- Source:
- DataTable.cs
- Source:
- DataTable.cs
- Source:
- DataTable.cs
查找和更新特定行。 如果找不到任何匹配行,则使用给定值创建新行。
public:
System::Data::DataRow ^ LoadDataRow(cli::array <System::Object ^> ^ values, System::Data::LoadOption loadOption);
public System.Data.DataRow LoadDataRow (object?[] values, System.Data.LoadOption loadOption);
public System.Data.DataRow LoadDataRow (object[] values, System.Data.LoadOption loadOption);
member this.LoadDataRow : obj[] * System.Data.LoadOption -> System.Data.DataRow
Public Function LoadDataRow (values As Object(), loadOption As LoadOption) As DataRow
参数
- values
- Object[]
用于创建新行的值数组。
- loadOption
- LoadOption
用于确定数组值如何应用于现有行中的对应值。
返回
新的 DataRow。
注解
方法 LoadDataRow 采用值数组,并在主键列 () 中查找匹配的值 (s) 。
如果列具有默认值,请在数组中传递 null 值以设置该列的默认值。 同样,如果列的 AutoIncrement 属性设置为 true,则传递数组中的 null 值以设置行自动生成的值。
参数的值 loadOption
用于确定数组中的值如何应用于现有行。 例如,如果 loadOption
设置为 OverwriteChanges
, Original
则每列的 和 Current
值将替换为传入行中的值, RowState
并将 属性设置为 Unchanged
。
在 或 RowChanging 事件期间ColumnChanging也可能发生异常。 如果发生异常,则不会将该行添加到表中。
LoadDataRow与 BeginLoadData 和 EndLoadData结合使用。