DataTable.LoadDataRow Methode

Definition

Sucht eine bestimmte Zeile und aktualisiert diese.Finds and updates a specific row. Wenn keine übereinstimmende Zeile gefunden werden kann, wird eine neue Zeile mit den angegebenen Werten erstellt.If no matching row is found, a new row is created using the given values.

Überlädt

LoadDataRow(Object[], Boolean)

Sucht eine bestimmte Zeile und aktualisiert diese.Finds and updates a specific row. Wenn keine übereinstimmende Zeile gefunden werden kann, wird eine neue Zeile mit den angegebenen Werten erstellt.If no matching row is found, a new row is created using the given values.

LoadDataRow(Object[], LoadOption)

Sucht eine bestimmte Zeile und aktualisiert diese.Finds and updates a specific row. Wenn keine übereinstimmende Zeile gefunden werden kann, wird eine neue Zeile mit den angegebenen Werten erstellt.If no matching row is found, a new row is created using the given values.

LoadDataRow(Object[], Boolean)

Sucht eine bestimmte Zeile und aktualisiert diese.Finds and updates a specific row. Wenn keine übereinstimmende Zeile gefunden werden kann, wird eine neue Zeile mit den angegebenen Werten erstellt.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);
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.An array of values used to create the new row.

fAcceptChanges
Boolean

true, um Änderungen anzunehmen, andernfalls false.true to accept changes; otherwise false.

Gibt zurück

Die neue DataRow.The new DataRow.

Ausnahmen

Das Array ist größer als die Anzahl der Spalten in der Tabelle.The array is larger than the number of columns in the table.

Ein Wert stimmt nicht mit dem entsprechenden Spaltentyp überein.A value doesn't match its respective column type.

Durch das Hinzufügen der Zeile wird eine Einschränkung für ungültig erklärt.Adding the row invalidates a constraint.

Es wird versucht, einen NULL-Wert in einer Spalte zu platzieren, in der AllowDBNull False ist.Attempting to put a null in a column where AllowDBNull is false.

Beispiele

Im folgenden Beispiel wird die LoadDataRow-Methode verwendet, um eine Zeile zu suchen.The following example uses the LoadDataRow method to attempt to find a row. Wenn eine solche Zeile nicht gefunden wird, werden die Werte verwendet, um eine neue Zeile zu erstellen.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

Hinweise

Die LoadDataRow-Methode nimmt ein Array von Werten an und findet die übereinstimmenden Werte in der Primärschlüssel Spalte (n).The LoadDataRow method takes an array of values and finds the matching value(s) in the primary key column(s).

Wenn eine Spalte über einen Standardwert verfügt, übergeben Sie einen NULL-Wert im Array, um den Standardwert für diese Spalte festzulegen.If a column has a default value, pass a null value in the array to set the default value for that column. Wenn die AutoIncrement-Eigenschaft für eine Spalte auf true festgelegt ist, übergeben Sie einen NULL-Wert im Array, um den automatisch generierten Wert für die Zeile festzulegen.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.

Wenn der fAcceptChanges-Parameter true oder nicht angegeben ist, werden die neuen Daten hinzugefügt, und dann wird AcceptChanges aufgerufen, um alle Änderungen in der DataTablezu akzeptieren. Wenn das Argument falseist, werden neu hinzugefügte Zeilen als Einfügungen gekennzeichnet, und Änderungen an vorhandenen Zeilen werden als Änderungen markiert.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.

Ausnahmen können auch während eines ColumnChanging-oder RowChanging Ereignisses auftreten.Exceptions can also occur during either a ColumnChanging or RowChanging event. Wenn eine Ausnahme auftritt, wird die Zeile nicht zur Tabelle hinzugefügt.If an exception occurs, the row is not added to the table.

Verwenden Sie LoadDataRow in Verbindung mit BeginLoadData und EndLoadData.Use LoadDataRow in conjunction with BeginLoadData and EndLoadData.

Siehe auch

LoadDataRow(Object[], LoadOption)

Sucht eine bestimmte Zeile und aktualisiert diese.Finds and updates a specific row. Wenn keine übereinstimmende Zeile gefunden werden kann, wird eine neue Zeile mit den angegebenen Werten erstellt.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);
member this.LoadDataRow : obj[] * System.Data.LoadOption -> System.Data.DataRow

Parameter

values
Object[]

Ein Array von Werten, mit denen die neue Zeile erstellt wird.An array of values used to create the new row.

loadOption
LoadOption

Wird verwendet, um zu bestimmen, wie die Arraywerte auf die entsprechenden Werte in einer vorhandenen Zeile angewendet werden.Used to determine how the array values are applied to the corresponding values in an existing row.

Gibt zurück

Die neue DataRow.The new DataRow.

Hinweise

Die LoadDataRow-Methode nimmt ein Array von Werten an und findet die übereinstimmenden Werte in der Primärschlüssel Spalte (n).The LoadDataRow method takes an array of values and finds the matching value(s) in the primary key column(s).

Wenn eine Spalte über einen Standardwert verfügt, übergeben Sie einen NULL-Wert im Array, um den Standardwert für diese Spalte festzulegen.If a column has a default value, pass a null value in the array to set the default value for that column. Wenn die AutoIncrement-Eigenschaft für eine Spalte auf true festgelegt ist, übergeben Sie einen NULL-Wert im Array, um den automatisch generierten Wert für die Zeile festzulegen.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.

Der Wert des loadOption-Parameters wird verwendet, um zu bestimmen, wie die Werte im Array auf eine vorhandene Zeile angewendet werden.The value of the loadOption parameter is used to determine how the values in the array are applied to an existing row. Wenn loadOption z. b. auf OverwriteChangesfestgelegt ist, werden die Werte Original und Current der einzelnen Spalten durch die Werte in der eingehenden Zeile und die RowState-Eigenschaft auf Unchangedfestgelegt.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.

Ausnahmen können auch während eines ColumnChanging-oder RowChanging Ereignisses auftreten.Exceptions can also occur during either a ColumnChanging or RowChanging event. Wenn eine Ausnahme auftritt, wird die Zeile nicht zur Tabelle hinzugefügt.If an exception occurs, the row is not added to the table.

Verwenden Sie LoadDataRow in Verbindung mit BeginLoadData und EndLoadData.Use LoadDataRow in conjunction with BeginLoadData and EndLoadData.

Siehe auch

Gilt für: