DataTable.LoadDataRow Methode

Definition

Sucht eine bestimmte Zeile und aktualisiert diese. Wenn keine übereinstimmende Zeile gefunden werden kann, wird eine neue Zeile mit den angegebenen Werten erstellt.

Überlädt

LoadDataRow(Object[], Boolean)

Sucht eine bestimmte Zeile und aktualisiert diese. Wenn keine übereinstimmende Zeile gefunden werden kann, wird eine neue Zeile mit den angegebenen Werten erstellt.

LoadDataRow(Object[], LoadOption)

Sucht eine bestimmte Zeile und aktualisiert diese. Wenn keine übereinstimmende Zeile gefunden werden kann, wird eine neue Zeile mit den angegebenen Werten erstellt.

LoadDataRow(Object[], Boolean)

Sucht eine bestimmte Zeile und aktualisiert diese. Wenn keine übereinstimmende Zeile gefunden werden kann, wird eine neue Zeile mit den angegebenen Werten erstellt.

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

Parameter

values
Object[]

Ein Array von Werten, mit denen die neue Zeile erstellt wird.

fAcceptChanges
Boolean

true, um Änderungen anzunehmen, andernfalls false.

Gibt zurück

Die neue DataRow.

Ausnahmen

Das Array ist größer als die Anzahl der Spalten in der Tabelle.

Ein Wert stimmt nicht mit dem entsprechenden Spaltentyp überein.

Durch das Hinzufügen der Zeile wird eine Einschränkung für ungültig erklärt.

Es wird versucht, einen NULL-Wert in einer Spalte zu platzieren, in der AllowDBNull False ist.

Beispiele

Im folgenden Beispiel wird die LoadDataRow -Methode verwendet, um nach einer Zeile zu suchen. Wenn keine solche Zeile gefunden wird, werden die Werte verwendet, um eine neue Zeile zu erstellen.

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

Hinweise

Die LoadDataRow Methode übernimmt ein Array von Werten und findet die übereinstimmenden Werte in den Primärschlüsselspalten.

Wenn eine Spalte über einen Standardwert verfügt, übergeben Sie einen NULL-Wert im Array, um den Standardwert für diese Spalte festzulegen. Wenn für eine Spalte ihre AutoIncrement Eigenschaft auf true festgelegt ist, übergeben Sie einen NULL-Wert im Array, um den automatisch generierten Wert für die Zeile festzulegen.

Wenn der fAcceptChanges Parameter angegeben ist true oder nicht, werden die neuen Daten hinzugefügt und dann AcceptChanges aufgerufen, um alle Änderungen in zu DataTableakzeptieren. Wenn das Argument lautet false, werden neu hinzugefügte Zeilen als Einfügungen markiert, und Änderungen an vorhandenen Zeilen werden als Änderungen markiert.

Ausnahmen können auch während eines - oder RowChanging -Ereignisses ColumnChanging auftreten. Wenn eine Ausnahme auftritt, wird die Zeile nicht zur Tabelle hinzugefügt.

Verwenden Sie LoadDataRow in Verbindung mit BeginLoadData und EndLoadData.

Weitere Informationen

Gilt für:

LoadDataRow(Object[], LoadOption)

Sucht eine bestimmte Zeile und aktualisiert diese. Wenn keine übereinstimmende Zeile gefunden werden kann, wird eine neue Zeile mit den angegebenen Werten erstellt.

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

Parameter

values
Object[]

Ein Array von Werten, mit denen die neue Zeile erstellt wird.

loadOption
LoadOption

Wird verwendet, um zu bestimmen, wie die Arraywerte auf die entsprechenden Werte in einer vorhandenen Zeile angewendet werden.

Gibt zurück

Die neue DataRow.

Hinweise

Die LoadDataRow Methode übernimmt ein Array von Werten und findet die übereinstimmenden Werte in den Primärschlüsselspalten.

Wenn eine Spalte über einen Standardwert verfügt, übergeben Sie einen NULL-Wert im Array, um den Standardwert für diese Spalte festzulegen. Wenn für eine Spalte ihre AutoIncrement Eigenschaft auf true festgelegt ist, übergeben Sie einen NULL-Wert im Array, um den automatisch generierten Wert für die Zeile festzulegen.

Der Wert des loadOption Parameters wird verwendet, um zu bestimmen, wie die Werte im Array auf eine vorhandene Zeile angewendet werden. Wenn loadOption beispielsweise auf OverwriteChangesfestgelegt ist, werden die Original Werte und Current jeder Spalte durch die Werte in der eingehenden Zeile ersetzt, und die RowState -Eigenschaft ist auf Unchangedfestgelegt.

Ausnahmen können auch während eines - oder RowChanging -Ereignisses ColumnChanging auftreten. Wenn eine Ausnahme auftritt, wird die Zeile nicht zur Tabelle hinzugefügt.

Verwenden Sie LoadDataRow in Verbindung mit BeginLoadData und EndLoadData.

Weitere Informationen

Gilt für: