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 принимает массив значений и находит соответствующие значения в столбцах первичного ключа.
Если столбец имеет значение по умолчанию, передайте значение NULL в массив, чтобы задать значение по умолчанию для этого столбца. Аналогичным образом, если свойство столбца имеет AutoIncrement значение true, передайте значение NULL в массиве, чтобы задать автоматически созданное значение для строки.
fAcceptChanges
Если параметр задан true
или не указан, новые данные добавляются, а затем AcceptChanges вызываются для принятия всех изменений в DataTable; если аргумент имеет значение false
, добавленные строки помечаются как вставки, а изменения существующих строк помечаются как изменения.
Исключения также могут возникать во время ColumnChanging события или RowChanging . При возникновении исключения строка не добавляется в таблицу.
Используйте LoadDataRow в сочетании с BeginLoadData и EndLoadData.
См. также раздел
Применяется к
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 принимает массив значений и находит соответствующие значения в столбцах первичного ключа.
Если столбец имеет значение по умолчанию, передайте значение NULL в массив, чтобы задать значение по умолчанию для этого столбца. Аналогичным образом, если свойство столбца имеет AutoIncrement значение true, передайте значение NULL в массиве, чтобы задать автоматически созданное значение для строки.
Значение loadOption
параметра используется для определения того, как значения в массиве применяются к существующей строке. Например, если loadOption
для задано значение OverwriteChanges
, Original
значения и Current
каждого столбца заменяются значениями во входящем наборе, а свойству RowState
присваивается значение Unchanged
.
Исключения также могут возникать во время ColumnChanging события или RowChanging . При возникновении исключения строка не добавляется в таблицу.
Используйте LoadDataRow в сочетании с BeginLoadData и EndLoadData.