DataTable.LoadDataRow 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
尋找並更新特定資料列。 如果找不到符合的資料列,則使用指定值來建立新的資料列。
多載
LoadDataRow(Object[], Boolean) |
尋找並更新特定資料列。 如果找不到符合的資料列,則使用指定值來建立新的資料列。 |
LoadDataRow(Object[], LoadOption) |
尋找並更新特定資料列。 如果找不到符合的資料列,則使用指定值來建立新的資料列。 |
LoadDataRow(Object[], Boolean)
- 來源:
- DataTable.cs
- 來源:
- DataTable.cs
- 來源:
- 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) 中尋找相符的值 (s) 。
如果數據行具有預設值,請在數位中傳遞 Null 值,以設定該資料行的預設值。 同樣地,如果數據行的 AutoIncrement 屬性設定為 true,請在數位中傳遞 Null 值,以設定數據列的自動產生值。
fAcceptChanges
如果參數為true
或未指定,則會新增數據,然後AcceptChanges呼叫 以接受 中的所有DataTable變更;如果自變數為 false
,則新加入的數據列會標示為插入,而現有數據列的變更會標示為修改。
例外狀況也可以在 或 RowChanging 事件期間ColumnChanging發生。 如果發生例外狀況,數據列就不會加入數據表中。
搭配和EndLoadData使用LoadDataRowBeginLoadData。
另請參閱
適用於
LoadDataRow(Object[], LoadOption)
- 來源:
- DataTable.cs
- 來源:
- DataTable.cs
- 來源:
- 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) 中尋找相符的值 (s) 。
如果數據行具有預設值,請在數位中傳遞 Null 值,以設定該資料行的預設值。 同樣地,如果數據行的 AutoIncrement 屬性設定為 true,請在數位中傳遞 Null 值,以設定數據列的自動產生值。
參數的值 loadOption
是用來判斷數位中的值如何套用至現有的數據列。 例如,如果 loadOption
設定為 ,Original
則每個資料行的 和 Current
值都會取代為傳入資料列中的值,而 RowState
屬性會設定為 Unchanged
OverwriteChanges
。
例外狀況也可以在 或 RowChanging 事件期間ColumnChanging發生。 如果發生例外狀況,數據列就不會加入數據表中。
搭配和EndLoadData使用LoadDataRowBeginLoadData。