Gewusst wie: Bearbeiten von Zeilen in einer DataTable

Um eine vorhandene Zeile in einer DataTable zu bearbeiten, müssen die zu bearbeitende DataRow suchen und den gewünschten Spalten die aktualisierten Werte zuweisen.

In den folgenden Beispielen wird veranschaulicht, wie Zeilen sowohl in typisierten als auch in nicht typisierten Datasets gesucht und geändert werden.

Bearbeiten eines Datensatzes in einer DataTable, wenn der Index der zu bearbeitenden Zeile nicht bekannt ist

In der Regel kennen Sie den Index der zu bearbeitenden Zeile nicht. Datentabellen in typisierten Datasets werden mit einer FindBy-Methode erstellt. Diese sucht eine Zeile anhand des Primärschlüssels der Tabelle.

So aktualisieren Sie vorhandene Datensätze in typisierten Datasets (Zeilenindex nicht bekannt)

  • Weisen Sie einer Variablen mithilfe der generierten FindBy-Methode eine spezifische DataRow zu, und verwenden Sie anschließend diese Variable, um auf die zu bearbeitenden Spalten zuzugreifen und ihnen neue Werte zuzuweisen.

    Im folgenden Beispiel ist die Spalte CustomerID der Primärschlüssel der Tabelle Customers. Die generierte FindBy-Methode ist daher FindByCustomerID. In diesem Beispiel wird davon ausgegangen, dass ein typisiertes Dataset mit dem Namen NorthwindDataSet generiert wurde und eine Instanz dieses typisierten Datasets mit dem Namen northwindDataSet1 vorhanden ist.

    Dim customersRow As NorthwindDataSet.CustomersRow
    customersRow = NorthwindDataSet1.Customers.FindByCustomerID("ALFKI")
    
    customersRow.CompanyName = "Updated Company Name"
    customersRow.City = "Seattle"
    
    NorthwindDataSet.CustomersRow customersRow = 
        northwindDataSet1.Customers.FindByCustomerID("ALFKI");
    
    customersRow.CompanyName = "Updated Company Name";
    customersRow.City = "Seattle";;
    

In der Regel kennen Sie den Index der zu bearbeitenden Zeile nicht. Datentabellen in nicht typisierten Datasets werden mit einer Select-Methode erstellt, die ein Array von DataRows zurückgibt.

So aktualisieren Sie vorhandene Datensätze in nicht typisierten Datasets (Zeilenindex nicht bekannt)

  • Verwenden Sie die Select-Methode der DataTable, um nach einer bestimmten Zeile zu suchen und den gewünschten Spalten neue Werte zuzuweisen.

    Im folgenden Beispiel ist die Spalte CustomerID der Primärschlüsel der Tabelle Customers. Daher wird durch den Aufruf der Select-Methode und das Suchen nach dem Primärschlüssel nur eine Zeile gefunden. Der Rückgabetyp ist nach wie vor ein Array von DataRows, daher wird in diesem Array auf den (0)-Index, d. h. auf die erste Zeile, zugegriffen. In diesem Beispiel wird davon ausgegangen, dass ein Dataset mit dem Namen dataSet1 vorhanden ist.

    Dim customerRow() As Data.DataRow
    customerRow = DataSet1.Tables("Customers").Select("CustomerID = 'ALFKI'")
    
    customerRow(0)("CompanyName") = "Updated Company Name"
    customerRow(0)("City") = "Seattle"
    
    DataRow[] customerRow = 
        dataSet1.Tables["Customers"].Select("CustomerID = 'ALFKI'");
    
    customerRow[0]["CompanyName"] = "Updated Company Name";
    customerRow[0]["City"] = "Seattle";
    

Bearbeiten eines Datensatzes in einer DataTable, wenn der Index der zu bearbeitenden Zeile bekannt ist

So aktualisieren Sie vorhandene Datensätze in typisierten Datasets (Zeilenindex bekannt)

  • Weisen Sie der spezifischen Spalte innerhalb eines DataRow-Objekts einen Wert zu.

    Typisierte Datasets verwenden die frühe Bindung, wodurch Tabellen- und Spaltennamen zur Entwurfszeit als Eigenschaften verfügbar gemacht werden. Dies führt dazu, dass der Code einfacher zu lesen und zu schreiben ist.

    Im folgenden Beispiel wird veranschaulicht, wie die Daten in der CompanyName-Spalte und City-Spalte des fünften Datensatzes in der Customers-Tabelle im Dataset aktualisiert werden. In diesem Beispiel wird davon ausgegangen, dass ein typisiertes Dataset mit dem Namen NorthwindDataSet generiert wurde und eine Instanz dieses typisierten Datasets mit dem Namen northwindDataSet1 vorhanden ist.

    NorthwindDataSet1.Customers(4).CompanyName = "Updated Company Name"
    NorthwindDataSet1.Customers(4).City = "Seattle"
    
    northwindDataSet1.Customers[4].CompanyName = "Updated Company Name";
    northwindDataSet1.Customers[4].City = "Seattle";
    

So aktualisieren Sie vorhandene Datensätze in nicht typisierten Datasets (Zeilenindex bekannt)

  • Weisen Sie einer spezifischen Spalte innerhalb eines DataRow-Objekts einen Wert zu.

    Da die Tabellen- und Spaltennamen nicht typisierter Datasets zur Entwurfszeit nicht verfügbar sind, muss der Zugriff über ihre jeweiligen Indizes erfolgen.

    Im folgenden Beispiel wird gezeigt, wie die Daten in den ersten beiden Spalten des fünften Datensatzes in der ersten Tabelle dataSet1 aktualisiert werden. In diesem Beispiel wird davon ausgegangen, dass die erste Tabelle im dataSet1 der Tabelle Customers der Datenbank Northwind entspricht und dass die ersten beiden Spalten dieser Tabelle CompanyName und City lauten.

    DataSet1.Tables(0).Rows(4).Item(0) = "Updated Company Name"
    DataSet1.Tables(0).Rows(4).Item(1) = "Seattle"
    
    dataSet1.Tables[0].Rows[4][0] = "Updated Company Name";
    dataSet1.Tables[0].Rows[4][1] = "Seattle";
    

    Im folgenden Beispiel werden dieselben Daten wie im vorherigen Beispiel aktualisiert. Dabei werden die Auflistungsindizes jedoch durch Tabellen- und Spaltennamen ersetzt, die als Zeichenfolgen übergeben werden. Sie müssen nach wie vor den Index der zu bearbeitenden Zeile kennen.

    DataSet1.Tables("Customers").Rows(4).Item("CompanyName") = "Updated Company Name"
    DataSet1.Tables("Customers").Rows(4).Item("City") = "Seattle"
    
    dataSet1.Tables["Customers"].Rows[4]["CompanyName"] = "Updated Company Name";
    dataSet1.Tables["Customers"].Rows[4]["City"] = "Seattle";
    

Siehe auch

Konzepte

'Edit'-Methoden für eine 'DataTable'

Hinzufügen von Daten zu einer 'DataTable'

DataRow-Löschung

Binden von Windows Forms-Steuerelementen an Daten in Visual Studio

Vorbereiten der Anwendung auf den Empfang von Daten

Abrufen von Daten für die Anwendung

Binden von Steuerelementen an Daten in Visual Studio

Bearbeiten von Daten in der Anwendung

Überprüfen von Daten

Speichern von Daten

Weitere Ressourcen

Herstellen von Datenverbindungen in Visual Studio