Freigeben über


Gewusst wie: Einfügen neuer Datensätze in eine Datenbank

Sie können neue Datensätze mithilfe der TableAdapter.Update-Methode oder einer der DBDirect-Methoden des TableAdapter (insbesondere der TableAdapter.Insert-Methode) in eine Datenbank einfügen. Weitere Informationen finden Sie unter Übersicht über TableAdapters.

Wenn die Anwendung keine TableAdapters verwendet, können Sie mithilfe von Befehlsobjekten interagieren und Datensätze in die Datenbank einfügen (z. B. SqlCommand).

Verwenden Sie die TableAdapter.Update-Methode, wenn die Anwendung Datasets zum Speichern von Daten verwendet. Die Update-Methode überträgt alle Änderungen (Aktualisierungen, Einfügungen und Löschvorgänge) in die Datenbank.

Verwenden Sie die TableAdapter.Insert-Methode, wenn die Anwendung zum Speichern von Daten Objekte verwendet, oder wenn Sie das Erstellen von Datensätzen in der Datenbank detailliert steuern möchten.

Wenn der TableAdapter nicht über eine Insert-Methode verfügt, ist er entweder so konfiguriert, dass er gespeicherte Prozeduren verwendet, oder seine GenerateDBDirectMethods-Eigenschaft ist auf false festgelegt. Versuchen Sie, aus dem DataSet-Designer heraus die GenerateDBDirectMethods-Eigenschaft des TableAdapter auf true festzulegen, und speichern Sie das Dataset, um den TableAdapter neu zu generieren. Wenn der TableAdapter dann immer noch nicht über eine Insert-Methode verfügt, stellt die Tabelle wahrscheinlich keine ausreichenden Schemainformationen zum Unterscheiden zwischen einzelnen Zeilen zur Verfügung (z. B. ist kein Primärschlüssel in der Tabelle festgelegt).

Einfügen neuer Datensätze mithilfe von TableAdapters

TableAdapters bieten verschiedene Möglichkeiten, neue Datensätze abhängig von den Anforderungen der Anwendung in eine Datenbank einzufügen.

Wenn die Anwendung Daten mithilfe von Datasets speichert, können Sie die Datensätze einfach der gewünschten DataTable im Dataset hinzufügen und dann die TableAdapter.Update-Methode aufrufen. Die TableAdapter.Update-Methode nimmt alle an der DataTable vorgenommenen Änderungen entgegen und überträgt die Änderungen in die Datenbank (z. B. geänderte und gelöschte Datensätze).

So fügen Sie neue Datensätze mithilfe der TableAdapter.Update-Methode in eine Datenbank ein

  1. Fügen Sie der gewünschten DataTable neue Datensätze hinzu, indem Sie eine neue DataRow erstellen und sie der Rows-Auflistung hinzufügen. Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen von Zeilen zu einer DataTable.

  2. Nachdem die neuen Zeilen der DataTable hinzugefügt wurden, rufen Sie die TableAdapter.Update-Methode auf. Sie können die zu aktualisierende Datenmenge steuern, indem Sie ein DataSet, eine DataTable, ein Array von DataRows oder eine einzelne DataRow übergeben.

    Der folgende Code veranschaulicht, wie einer DataTable ein neuer Datensatz hinzugefügt und anschließend die TableAdapter.Update-Methode aufgerufen wird, um die neue Zeile in der Datenbank zu speichern. (In diesem Beispiel wird die Tabelle Region der Datenbank Northwind verwendet.)

    ' Create a new row.
    Dim newRegionRow As NorthwindDataSet.RegionRow
    newRegionRow = Me.NorthwindDataSet._Region.NewRegionRow()
    newRegionRow.RegionID = 5
    newRegionRow.RegionDescription = "NorthWestern"
    
    ' Add the row to the Region table
    Me.NorthwindDataSet._Region.Rows.Add(newRegionRow)
    
    ' Save the new row to the database
    Me.RegionTableAdapter.Update(Me.NorthwindDataSet._Region)
    
    // Create a new row.
    NorthwindDataSet.RegionRow newRegionRow;
    newRegionRow = northwindDataSet.Region.NewRegionRow();
    newRegionRow.RegionID = 5;
    newRegionRow.RegionDescription = "NorthWestern";
    
    // Add the row to the Region table
    this.northwindDataSet.Region.Rows.Add(newRegionRow);
    
    // Save the new row to the database
    this.regionTableAdapter.Update(this.northwindDataSet.Region);
    

Wenn die Anwendung Daten mithilfe von Objekten in der Anwendung speichert, können Sie mit der TableAdapter.Insert-Methode Zeilen direkt in der Datenbank erstellen. Die Insert-Methode nimmt die einzelnen Werte für jede Spalte als Parameter an. Beim Aufrufen der Methode wird ein neuer Datensatz mit den übergebenen Parameterwerten in die Datenbank eingefügt.

In der folgenden Prozedur wird als Beispiel die Tabelle Region der Datenbank Northwind verwendet.

So fügen Sie neue Datensätze mithilfe der TableAdapter.Insert-Methode in eine Datenbank ein

  • Rufen Sie die Insert-Methode des TableAdapter auf, und übergeben Sie die Werte für jede Spalte als Parameter.

    Tipp

    Wenn Ihnen keine Instanz zur Verfügung steht, instanziieren Sie den TableAdapter, den Sie verwenden möchten.

    Dim regionTableAdapter As New NorthwindDataSetTableAdapters.RegionTableAdapter
    
    regionTableAdapter.Insert(5, "NorthWestern")
    
    NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
        new NorthwindDataSetTableAdapters.RegionTableAdapter();
    
    regionTableAdapter.Insert(5, "NorthWestern");
    

Einfügen neuer Datensätze mithilfe von Befehlsobjekten

Im folgenden Beispiel werden mithilfe von Befehlsobjekten neue Datensätze direkt in eine Datenbank eingefügt. Weitere Informationen zum Verwenden von Befehlsobjekten, um Befehle und gespeicherte Prozeduren auszuführen, finden Sie unter Abrufen von Daten für die Anwendung.

In der folgenden Prozedur wird als Beispiel die Tabelle Region der Datenbank Northwind verwendet.

So fügen Sie neue Datensätze mithilfe von Befehlsobjekten in eine Datenbank ein

  • Erstellen Sie ein neues Befehlsobjekt, und legen Sie die entsprechenden Eigenschaften Connection, CommandType und CommandText fest.

    Dim sqlConnection1 As New System.Data.SqlClient.SqlConnection("YOUR CONNECTION STRING")
    
    Dim cmd As New System.Data.SqlClient.SqlCommand
    cmd.CommandType = System.Data.CommandType.Text
    cmd.CommandText = "INSERT Region (RegionID, RegionDescription) VALUES (5, 'NorthWestern')"
    cmd.Connection = sqlConnection1
    
    sqlConnection1.Open()
    cmd.ExecuteNonQuery()
    sqlConnection1.Close()
    
    System.Data.SqlClient.SqlConnection sqlConnection1 = 
        new System.Data.SqlClient.SqlConnection("YOUR CONNECTION STRING");
    
    System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
    cmd.CommandType = System.Data.CommandType.Text;
    cmd.CommandText = "INSERT Region (RegionID, RegionDescription) VALUES (5, 'NorthWestern')";
    cmd.Connection = sqlConnection1;
    
    sqlConnection1.Open();
    cmd.ExecuteNonQuery();
    sqlConnection1.Close();
    

Sicherheit

Sie müssen über den Zugriff auf die Datenbank verfügen, zu der Sie eine Verbindung herstellen möchten. Außerdem müssen Sie über die Berechtigung zum Einfügen von Datensätzen in die gewünschte Tabelle verfügen.

Siehe auch

Aufgaben

Gewusst wie: Löschen von Datensätzen in einer Datenbank

Gewusst wie: Aktualisieren von Datensätzen in einer Datenbank

Gewusst wie: Speichern von Daten aus einem Objekt in einer Datenbank

Konzepte

Binden von Steuerelementen an Daten in Visual Studio

Abrufen von Identitäts- oder AutoWert-Werten (ADO.NET)

Weitere Ressourcen

Übersicht über Datenanwendungen in Visual Studio

Herstellen von Datenverbindungen in Visual Studio

Vorbereiten der Anwendung auf den Empfang von Daten

Abrufen von Daten für die Anwendung

Bearbeiten von Daten in der Anwendung

Überprüfen von Daten

Speichern von Daten