閱讀英文

共用方式為


DataTable.LoadDataRow 方法

定義

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

多載

LoadDataRow(Object[], Boolean)

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

LoadDataRow(Object[], LoadOption)

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

LoadDataRow(Object[], Boolean)

來源:
DataTable.cs
來源:
DataTable.cs
來源:
DataTable.cs

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

C#
public System.Data.DataRow LoadDataRow (object?[] values, bool fAcceptChanges);
C#
public System.Data.DataRow LoadDataRow (object[] values, bool fAcceptChanges);

參數

values
Object[]

用來建立新資料列的值陣列。

fAcceptChanges
Boolean

若要接受變更,則為 true,否則為 false

傳回

新的 DataRow

例外狀況

陣列大於資料表中的資料行數目。

數值不符合其個別的資料行型別。

加入資料列會使條件約束失效。

嘗試將 Null 置於 AllowDBNull 為 False 的資料行中。

範例

下列範例會 LoadDataRow 使用 方法來嘗試尋找數據列。 如果找不到這類數據列,則會使用值來建立新的數據列。

C#
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();
   }
}

備註

方法 LoadDataRow 會採用值的陣列,並在主鍵數據行 (s) 中尋找相符的值 (s) 。

如果數據行具有預設值,請在數位中傳遞 Null 值,以設定該資料行的預設值。 同樣地,如果數據行的 AutoIncrement 屬性設定為 true,請在數位中傳遞 Null 值,以設定數據列的自動產生值。

fAcceptChanges如果參數為true或未指定,則會新增數據,然後AcceptChanges呼叫 以接受 中的所有DataTable變更;如果自變數為 false,則新加入的數據列會標示為插入,而現有數據列的變更會標示為修改。

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

搭配和EndLoadData使用LoadDataRowBeginLoadData

另請參閱

適用於

.NET 9 及其他版本
產品 版本
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

LoadDataRow(Object[], LoadOption)

來源:
DataTable.cs
來源:
DataTable.cs
來源:
DataTable.cs

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

C#
public System.Data.DataRow LoadDataRow (object?[] values, System.Data.LoadOption loadOption);
C#
public System.Data.DataRow LoadDataRow (object[] values, System.Data.LoadOption loadOption);

參數

values
Object[]

用來建立新資料列的值陣列。

loadOption
LoadOption

用來判斷陣列值如何套用至現有資料列中對應的值。

傳回

新的 DataRow

備註

方法 LoadDataRow 會採用值的陣列,並在主鍵數據行 (s) 中尋找相符的值 (s) 。

如果數據行具有預設值,請在數位中傳遞 Null 值,以設定該資料行的預設值。 同樣地,如果數據行的 AutoIncrement 屬性設定為 true,請在數位中傳遞 Null 值,以設定數據列的自動產生值。

參數的值 loadOption 是用來判斷數位中的值如何套用至現有的數據列。 例如,如果 loadOption 設定為 ,Original則每個資料行的 和 Current 值都會取代為傳入資料列中的值,而 RowState 屬性會設定為 UnchangedOverwriteChanges

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

搭配和EndLoadData使用LoadDataRowBeginLoadData

另請參閱

適用於

.NET 9 及其他版本
產品 版本
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1