Sdílet prostřednictvím


DataTable.LoadDataRow Metoda

Definice

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

Přetížení

Name Description
LoadDataRow(Object[], Boolean)

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

LoadDataRow(Object[], LoadOption)

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

LoadDataRow(Object[], Boolean)

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

Najde a aktualizuje konkrétní řádek. Pokud se nenajde žádný odpovídající řádek, vytvoří se 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ých k vytvoření nového řádku.

fAcceptChanges
Boolean

true přijmout změny; jinak false.

Návraty

DataRowNový .

Výjimky

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

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

Přidání řádku zneplatní omezení.

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

Příklady

Následující příklad používá metodu k pokusu LoadDataRow o nalezení řádku. Pokud takový řádek nenajdete, hodnoty se použijí 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 v poli hodnotu null a nastavte výchozí hodnotu pro tento sloupec. Podobně platí, že pokud sloupec má vlastnost AutoIncrement nastavenou na hodnotu true, předejte hodnotu null v poli a nastavte automaticky vygenerovanou hodnotu pro řádek.

fAcceptChanges Pokud je true parametr zadán nebo není zadaný, přidají se nová data a pak AcceptChanges se volají, aby přijímala všechny změny v argumentu DataTable; pokud je falseargument , nově přidané řádky jsou označeny jako vložené a změny stávajících řádků jsou označeny jako úpravy.

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

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

Viz také

Platí pro

LoadDataRow(Object[], LoadOption)

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

Najde a aktualizuje konkrétní řádek. Pokud se nenajde žádný odpovídající řádek, vytvoří se 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ých 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

DataRowNový .

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 v poli hodnotu null a nastavte výchozí hodnotu pro tento sloupec. Podobně platí, že pokud sloupec má vlastnost AutoIncrement nastavenou na hodnotu true, předejte hodnotu null v poli a nastavte 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 nastavena na OverwriteChanges, Original a Current hodnoty každého sloupce jsou nahrazeny hodnotami v příchozím řádku a RowState vlastnost je nastavena na Unchanged.

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

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

Viz také

Platí pro