Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Um neue Datensätze in eine Datenbank mit ADO.NET in einem .NET Framework-Projekt einzufügen, besteht der allgemeine Ansatz darin, TableAdapter-Methoden zu verwenden. TableAdapters ermöglichen die Kommunikation zwischen Anwendung und Datenbank. Sie bieten verschiedene Möglichkeiten zum Einfügen neuer Datensätze in eine Datenbank, je nach den Anforderungen Ihrer Anwendung. Sie können die TableAdapter.Update Methode oder eine der TableAdapter DBDirect-Methoden (insbesondere die TableAdapter.Insert Methode) verwenden.
In diesem Artikel wird beschrieben, wie Sie Datensätze in eine Datenbank für eine Anwendung einfügen, die mit ADO.NET und .NET Framework mithilfe von Visual Basic (VB) oder C# erstellt wurde. Wenn Ihre Anwendungskonfiguration Entity Framework 6 verwendet, lesen Sie das Hinzufügen einer neuen Entität zum Kontext, oder für Entity Framework Core siehe Hinzufügen von Daten.
Hinweis
Die DataSet Klassen und verwandten Klassen sind ältere .NET Framework-Technologien aus den frühen 2000er Jahren, mit denen Anwendungen mit Daten im Arbeitsspeicher arbeiten können, während die Apps von der Datenbank getrennt sind. Die Technologien sind besonders nützlich für Apps, mit denen Benutzer Daten ändern und die Änderungen wieder in der Datenbank speichern können. Obwohl Datasets eine bewährte erfolgreiche Technologie sind, ist der empfohlene Ansatz für neue .NET-Anwendungen die Verwendung von Entity Framework Core. Entity Framework bietet eine natürlichere Möglichkeit zum Arbeiten mit tabellarischen Daten als Objektmodelle und verfügt über eine einfachere Programmierschnittstelle.
Voraussetzungen
Um mit TableAdapter-Methoden zu arbeiten, müssen Sie über eine verfügbare Instanz verfügen. Weitere Informationen finden Sie unter Erstellen und Konfigurieren von TableAdapters in .NET Framework-Anwendungen.
.NET-Sicherheit: Sie benötigen Zugriff auf die Datenbank, mit der Sie eine Verbindung herstellen möchten, und die Berechtigung zum Ausführen von Einfügungen in die gewünschte Tabelle.
Einfügemethode auswählen
Es gibt verschiedene Ansätze zum Einfügen von Datensätzen in eine Datenbank basierend auf Ihrem Anwendungsszenario. In der folgenden Tabelle sind die Optionen zusammengefasst:
| Szenario | Vorgehensweise | Hinweise |
|---|---|---|
| App verwendet Datasets zum Speichern von Daten | Verwenden der TableAdapter.Update-Methode zum Senden aller Änderungen an die Datenbank | Änderungen umfassen Aktualisierungen, Einfügungen und Löschungen. |
| App verwendet Objekte zum Speichern von Daten | Verwenden der TableAdapter.Insert-Methode zum Einfügen neuer Datensätze in die Datenbank | Mit diesem Ansatz können Sie eine bessere Kontrolle über das Erstellen neuer Datensätze haben. |
Die App verwendet TableAdapters, die Insert-Methode ist nicht verfügbar. |
Legen Sie die TableAdapter-Eigenschaft GenerateDBDirectMethods aus dem Dataset-Designer auf true fest, und speichern Sie das Dataset, um den TableAdapter neu zu erstellen. |
Wenn Ihr TableAdapter nicht über eine Insert Methode verfügt, ist tableAdapter entweder für die Verwendung gespeicherter Prozeduren konfiguriert, oder die GenerateDBDirectMethods Eigenschaft ist auf falsefestgelegt. Wenn die Methode nach der Neugenerierung des TableAdapters nicht verfügbar ist, stellt die Tabelle wahrscheinlich nicht genügend Schemainformationen bereit, um zwischen einzelnen Zeilen zu unterscheiden (beispielsweise kann kein Primärschlüssel in der Tabelle festgelegt sein). |
| Die App verwendet keine TableAdapters. | Verwenden von Befehlsobjekten zum Einfügen neuer Datensätze in die Datenbank | Beispiel: SqlCommand |
Einfügen neuer Datensätze mithilfe von TableAdapters
Wenn Ihre Anwendung Datasets zum Speichern von Daten verwendet, können Sie dem gewünschten DataTable Datensatz neue Datensätze hinzufügen und dann die TableAdapter.Update Methode aufrufen. Die TableAdapter.Update Methode sendet alle Änderungen an der DataTable Datenbank, einschließlich geänderter und gelöschter Datensätze.
Einfügen neuer Datensätze mit der TableAdapter.Update-Methode
Das folgende Verfahren veranschaulicht, wie neue Datensätze mithilfe der TableAdapter.Update Methode in eine Datenbank eingefügt werden:
Fügen Sie neue Datensätze zur gewünschten DataTable hinzu, indem Sie ein neues DataRow erstellen und es zur Rows Sammlung hinzufügen.
Nachdem Sie die neuen Zeilen zu DataTable hinzugefügt haben, rufen Sie die
TableAdapter.UpdateMethode auf. Sie können die zu aktualisierende Datenmenge steuern, indem Sie einen der folgenden Parameterwerte übergeben:Der folgende Code zeigt, wie Sie einem DataTable datensatz einen neuen Datensatz hinzufügen und dann die
TableAdapter.UpdateMethode aufrufen, um die neue Zeile in der Datenbank zu speichern. In diesem Beispiel wird dieRegionTabelle in der Northwind-Datenbank verwendet.// 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);
Einfügen neuer Datensätze mit der TableAdapter.Insert-Methode
Wenn Ihre Anwendung Objekte zum Speichern von Daten verwendet, können Sie die TableAdapter.Insert Methode verwenden, um neue Zeilen direkt in der Datenbank zu erstellen. Die Insert Methode akzeptiert die einzelnen Werte für jede Spalte als Parameter. Wenn Sie die Methode aufrufen, wird ein neuer Datensatz in die Datenbank mit den übergebenen Parameterwerten eingefügt.
- Rufen Sie die TableAdapter-Methode
Insertauf, und übergeben Sie die Werte für jede Spalte als Parameter.
Das folgende Verfahren veranschaulicht, wie Sie die TableAdapter.Insert Methode zum Einfügen von Zeilen verwenden. In diesem Beispiel werden Daten in die Tabelle in der Region Northwind-Datenbank eingefügt.
Hinweis
Wenn Keine Instanz verfügbar ist, instanziieren Sie den TableAdapter, den Sie verwenden möchten.
NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter =
new NorthwindDataSetTableAdapters.RegionTableAdapter();
regionTableAdapter.Insert(5, "NorthWestern");
Einfügen neuer Datensätze mit Befehlsobjekten
Sie können neue Datensätze direkt in eine Datenbank einfügen, indem Sie Befehlsobjekte verwenden.
- Erstellen Sie ein neues Befehlsobjekt und legen Sie dann die Eigenschaften
Connection,CommandTypeundCommandTextfest.
Das folgende Verfahren veranschaulicht, wie Datensätze mithilfe des Befehlsobjekts in eine Datenbank eingefügt werden. In diesem Beispiel fügt man Daten in die Region-Tabelle der Northwind-Datenbank ein.
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();