Sdílet prostřednictvím


DataTable.LoadDataRow Metoda

Definice

Najde a aktualizuje konkrétní řádek. Pokud není nalezen žádný odpovídající řádek, je vytvořen nový řádek s použitím zadaných hodnot.

Přetížení

LoadDataRow(Object[], Boolean)

Najde a aktualizuje konkrétní řádek. Pokud není nalezen žádný odpovídající řádek, je vytvořen nový řádek s použitím zadaných hodnot.

LoadDataRow(Object[], LoadOption)

Najde a aktualizuje konkrétní řádek. Pokud není nalezen žádný odpovídající řádek, je vytvořen nový řádek s použitím zadaných hodnot.

LoadDataRow(Object[], Boolean)

Zdroj:
DataTable.cs
Zdroj:
DataTable.cs
Zdroj:
DataTable.cs

Najde a aktualizuje konkrétní řádek. Pokud není nalezen žádný odpovídající řádek, je vytvořen nový řádek s použitím zadaných hodnot.

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[]

Pole hodnot použité k vytvoření nového řádku.

fAcceptChanges
Boolean

true přijmout změny; jinak false.

Návraty

Nový DataRow.

Výjimky

Pole je větší než počet sloupců v tabulce.

Hodnota neodpovídá příslušnému typu sloupce.

Přidáním řádku zrušíte platnost omezení.

Pokus o vložení hodnoty null do sloupce, kde AllowDBNull je false.

Příklady

Následující příklad používá metodu LoadDataRow k pokusu o vyhledání řádku. Pokud se takový řádek nenajde, použijí se hodnoty k vytvoření nového řádku.

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

Poznámky

Metoda LoadDataRow vezme pole hodnot a najde odpovídající hodnoty ve sloupcích primárního klíče.

Pokud má sloupec výchozí hodnotu, předejte do pole hodnotu null a nastavte výchozí hodnotu pro daný sloupec. Podobně platí, že pokud má sloupec vlastnost AutoIncrement nastavenou na hodnotu true, předejte v poli hodnotu null, která nastaví automaticky vygenerovanou hodnotu pro řádek.

fAcceptChanges Pokud parametr je true nebo není zadaný, jsou přidána nová data a pak AcceptChanges jsou volána pro přijetí všech změn v argumentu DataTable; pokud argument je false, nově přidané řádky se označí jako vložení a změny v existujících řádcích se označí jako úpravy.

K výjimkám může dojít také během ColumnChanging události nebo RowChanging . Pokud dojde k výjimce, není řádek přidán do tabulky.

Používejte LoadDataRow ve spojení s BeginLoadData a EndLoadData.

Viz také

Platí pro

LoadDataRow(Object[], LoadOption)

Zdroj:
DataTable.cs
Zdroj:
DataTable.cs
Zdroj:
DataTable.cs

Najde a aktualizuje konkrétní řádek. Pokud není nalezen žádný odpovídající řádek, je vytvořen nový řádek s použitím zadaných hodnot.

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[]

Pole hodnot použité k vytvoření nového řádku.

loadOption
LoadOption

Slouží k určení způsobu použití maticových hodnot na odpovídající hodnoty v existujícím řádku.

Návraty

Nový DataRow.

Poznámky

Metoda LoadDataRow vezme pole hodnot a najde odpovídající hodnoty ve sloupcích primárního klíče.

Pokud má sloupec výchozí hodnotu, předejte do pole hodnotu null a nastavte výchozí hodnotu pro daný sloupec. Podobně platí, že pokud má sloupec vlastnost AutoIncrement nastavenou na hodnotu true, předejte v poli hodnotu null, která nastaví automaticky vygenerovanou hodnotu pro řádek.

Hodnota parametru loadOption se používá k určení způsobu použití hodnot v poli na existující řádek. Pokud loadOption je například nastavená hodnota OverwriteChanges, Original hodnoty a Current každého sloupce se nahradí hodnotami v příchozím řádku a RowState vlastnost je nastavená na Unchanged.

K výjimkám může dojít také během ColumnChanging události nebo RowChanging . Pokud dojde k výjimce, není řádek přidán do tabulky.

Používejte LoadDataRow ve spojení s BeginLoadData a EndLoadData.

Viz také

Platí pro