Поделиться через


DataTable.LoadDataRow Метод

Определение

Находит и обновляет определенную строку. Если соответствующая строка не найдена, создается новая строка с использованием заданных значений.

Перегрузки

Имя Описание
LoadDataRow(Object[], Boolean)

Находит и обновляет определенную строку. Если соответствующая строка не найдена, создается новая строка с использованием заданных значений.

LoadDataRow(Object[], LoadOption)

Находит и обновляет определенную строку. Если соответствующая строка не найдена, создается новая строка с использованием заданных значений.

LoadDataRow(Object[], Boolean)

Исходный код:
DataTable.cs
Исходный код:
DataTable.cs
Исходный код:
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 принимает массив значений и находит соответствующие значения в столбцах первичного ключа.

Если столбец имеет значение по умолчанию, передайте значение NULL в массиве, чтобы задать значение по умолчанию для этого столбца. Аналогичным образом, если столбец имеет значение AutoIncrement true, передайте значение NULL в массиве, чтобы задать автоматически созданное значение для строки.

fAcceptChanges Если параметр true указан или не указан, добавляются новые данные, а затем AcceptChanges вызывается для принятия всех изменений в DataTableаргументе; если аргумент имеет falseзначение, новые добавленные строки помечаются как вставки, а изменения существующих строк помечаются как изменения.

Исключения также могут возникать во время события ColumnChanging или RowChanging события. Если возникает исключение, строка не добавляется в таблицу.

Использование LoadDataRow в сочетании с BeginLoadData и EndLoadData.

См. также раздел

Применяется к

LoadDataRow(Object[], LoadOption)

Исходный код:
DataTable.cs
Исходный код:
DataTable.cs
Исходный код:
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 принимает массив значений и находит соответствующие значения в столбцах первичного ключа.

Если столбец имеет значение по умолчанию, передайте значение NULL в массиве, чтобы задать значение по умолчанию для этого столбца. Аналогичным образом, если столбец имеет значение AutoIncrement true, передайте значение NULL в массиве, чтобы задать автоматически созданное значение для строки.

Значение loadOption параметра используется для определения того, как значения в массиве применяются к существующей строке. Например, если loadOption задано OverwriteChangesзначение , Original значения Current каждого столбца заменяются значениями в входящей строке, а RowState свойство имеет значение Unchanged.

Исключения также могут возникать во время события ColumnChanging или RowChanging события. Если возникает исключение, строка не добавляется в таблицу.

Использование LoadDataRow в сочетании с BeginLoadData и EndLoadData.

См. также раздел

Применяется к