DataTable.LoadDataRow Metoda

Definicja

Znajduje i aktualizuje określony wiersz.Finds and updates a specific row. Jeśli nie zostanie znaleziony pasujący wiersz, zostanie utworzony nowy wiersz przy użyciu podanej wartości.If no matching row is found, a new row is created using the given values.

Przeciążenia

LoadDataRow(Object[], Boolean)

Znajduje i aktualizuje określony wiersz.Finds and updates a specific row. Jeśli nie zostanie znaleziony pasujący wiersz, zostanie utworzony nowy wiersz przy użyciu podanej wartości.If no matching row is found, a new row is created using the given values.

LoadDataRow(Object[], LoadOption)

Znajduje i aktualizuje określony wiersz.Finds and updates a specific row. Jeśli nie zostanie znaleziony pasujący wiersz, zostanie utworzony nowy wiersz przy użyciu podanej wartości.If no matching row is found, a new row is created using the given values.

LoadDataRow(Object[], Boolean)

Znajduje i aktualizuje określony wiersz.Finds and updates a specific row. Jeśli nie zostanie znaleziony pasujący wiersz, zostanie utworzony nowy wiersz przy użyciu podanej wartości.If no matching row is found, a new row is created using the given values.

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

Parametry

values
Object[]

Tablica wartości użyta do utworzenia nowego wiersza.An array of values used to create the new row.

fAcceptChanges
Boolean

true Aby zaakceptować zmiany; w przeciwnym razie false .true to accept changes; otherwise false.

Zwraca

DataRow

Nowy DataRow .The new DataRow.

Wyjątki

Tablica jest większa niż liczba kolumn w tabeli.The array is larger than the number of columns in the table.

Wartość nie jest zgodna z odpowiadającym jej typem kolumny.A value doesn't match its respective column type.

Dodanie wiersza unieważnia ograniczenie.Adding the row invalidates a constraint.

Podjęto próbę umieszczenia wartości null w kolumnie, gdzie AllowDBNull ma wartość false.Attempting to put a null in a column where AllowDBNull is false.

Przykłady

W poniższym przykładzie zastosowano LoadDataRow metodę, aby spróbować znaleźć wiersz.The following example uses the LoadDataRow method to attempt to find a row. Jeśli żaden z tych wierszy nie zostanie znaleziony, wartości są używane do tworzenia nowego wiersza.If no such row is found, the values are used to create a new row.

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

Uwagi

LoadDataRowMetoda pobiera tablicę wartości i znajduje pasujące wartości w kolumnach klucza podstawowego.The LoadDataRow method takes an array of values and finds the matching value(s) in the primary key column(s).

Jeśli kolumna ma wartość domyślną, przekaż wartość null w tablicy, aby ustawić wartość domyślną dla tej kolumny.If a column has a default value, pass a null value in the array to set the default value for that column. Podobnie, jeśli kolumna ma swoją AutoIncrement Właściwość ustawioną na wartość true, należy przekazać wartość null w tablicy, aby ustawić automatycznie wygenerowaną wartość dla wiersza.Similarly, if a column has its AutoIncrement property set to true, pass a null value in the array to set the automatically generated value for the row.

Jeśli fAcceptChanges parametr jest true lub nie został określony, nowe dane są dodawane, a następnie AcceptChanges wywoływane, aby akceptować wszystkie zmiany w DataTable ; Jeśli argument jest false , nowo dodane wiersze są oznaczane jako wstawienia, a zmiany w istniejących wierszach są oznaczane jako modyfikacje.If the fAcceptChanges parameter is true or not specified, the new data is added and then AcceptChanges is called to accept all changes in the DataTable; if the argument is false, newly added rows are marked as insertions, and changes to existing rows are marked as modifications.

Wyjątki mogą również wystąpić w przypadku wystąpienia ColumnChanging lub RowChanging .Exceptions can also occur during either a ColumnChanging or RowChanging event. Jeśli wystąpi wyjątek, wiersz nie zostanie dodany do tabeli.If an exception occurs, the row is not added to the table.

Użyj LoadDataRow w połączeniu z BeginLoadData i EndLoadData .Use LoadDataRow in conjunction with BeginLoadData and EndLoadData.

Dotyczy

LoadDataRow(Object[], LoadOption)

Znajduje i aktualizuje określony wiersz.Finds and updates a specific row. Jeśli nie zostanie znaleziony pasujący wiersz, zostanie utworzony nowy wiersz przy użyciu podanej wartości.If no matching row is found, a new row is created using the given values.

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

Parametry

values
Object[]

Tablica wartości użyta do utworzenia nowego wiersza.An array of values used to create the new row.

loadOption
LoadOption

Służy do określania, w jaki sposób wartości tablicy są stosowane do odpowiednich wartości w istniejącym wierszu.Used to determine how the array values are applied to the corresponding values in an existing row.

Zwraca

DataRow

Nowy DataRow .The new DataRow.

Uwagi

LoadDataRowMetoda pobiera tablicę wartości i znajduje pasujące wartości w kolumnach klucza podstawowego.The LoadDataRow method takes an array of values and finds the matching value(s) in the primary key column(s).

Jeśli kolumna ma wartość domyślną, przekaż wartość null w tablicy, aby ustawić wartość domyślną dla tej kolumny.If a column has a default value, pass a null value in the array to set the default value for that column. Podobnie, jeśli kolumna ma swoją AutoIncrement Właściwość ustawioną na wartość true, należy przekazać wartość null w tablicy, aby ustawić automatycznie wygenerowaną wartość dla wiersza.Similarly, if a column has its AutoIncrement property set to true, pass a null value in the array to set the automatically generated value for the row.

Wartość loadOption parametru służy do określenia, w jaki sposób wartości w tablicy są stosowane do istniejącego wiersza.The value of the loadOption parameter is used to determine how the values in the array are applied to an existing row. Na przykład jeśli loadOption jest ustawiona na OverwriteChanges , Original a Current wartości każdej kolumny są zastępowane wartościami w wierszu przychodzące i RowState Właściwość jest ustawiona na Unchanged .For example, if loadOption is set to OverwriteChanges, the Original and Current values of each column are replaced with the values in the incoming row and the RowState property is set to Unchanged.

Wyjątki mogą również wystąpić w przypadku wystąpienia ColumnChanging lub RowChanging .Exceptions can also occur during either a ColumnChanging or RowChanging event. Jeśli wystąpi wyjątek, wiersz nie zostanie dodany do tabeli.If an exception occurs, the row is not added to the table.

Użyj LoadDataRow w połączeniu z BeginLoadData i EndLoadData .Use LoadDataRow in conjunction with BeginLoadData and EndLoadData.

Dotyczy