DataTable.LoadDataRow 方法

定義

尋找並更新特定資料列。 如果找不到符合的資料列,則使用指定值來建立新的資料列。

多載

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 屬性會設定為 UnchangedOverwriteChanges

例外狀況也可以在 或 RowChanging 事件期間ColumnChanging發生。 如果發生例外狀況,數據列就不會加入數據表中。

搭配和EndLoadData使用LoadDataRowBeginLoadData

另請參閱

適用於