Gewusst wie: Einfügen neuer Datensätze in eine Datenbank
Aktualisiert: November 2007
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
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.
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.
Hinweis: 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
Weitere Ressourcen
Erste Schritte mit dem Datenzugriff
Herstellen von Datenverbindungen in Visual Studio
Vorbereiten der Anwendung auf den Empfang von Daten
Abrufen von Daten für die Anwendung
Anzeigen von Daten in Formularen in Windows-Anwendungen