Gewusst wie: Speichern von Daten aus einem Objekt in einer Datenbank
Sie können Daten aus Objekten in einer Datenbank speichern, indem Sie die Werte aus dem Objekt an eine der DBDirect-Methoden des TableAdapter übergeben (z. B. TableAdapter.Insert). Weitere Informationen finden Sie unter Übersicht über TableAdapters.
Um Daten aus einer Auflistung von Objekten zu speichern, durchlaufen Sie die Auflistung (z. B. in einer for-next-Schleife), und senden Sie die Werte der einzelnen Objekte mithilfe einer der DBDirect-Methoden des TableAdapter an die Datenbank.
Standardmäßig werden DBDirect-Methoden auf einem TableAdapter erstellt, der direkt gegen die Datenbank ausgeführt werden kann. Diese Methoden können direkt aufgerufen werden und benötigen keine DataSet-Objekte oder DataTable-Objekte für das Abgleichen von Änderungen beim Senden von Aktualisierungen an die Datenbank.
Tipp
Wenn Sie einen TableAdapter konfigurieren, muss die Hauptabfrage ausreichend Informationen für die Erstellung der DBDirect-Methoden enthalten. Wenn ein TableAdapter z. B. für die Abfrage von Daten aus einer Tabelle konfiguriert wird, für die keine Primärschlüsselspalte definiert wurde, werden keine DBDirect-Methoden generiert.
TableAdapter-DBDirect-Methode |
Beschreibung |
---|---|
TableAdapter.Insert |
Fügt einer Datenbank neue Datensätze hinzu. Dadurch können Sie einzelne Spaltenwerte als Methodenparameter übergeben. |
TableAdapter.Update |
Aktualisiert vorhandene Datensätze in einer Datenbank. Die Update-Methode übernimmt die Werte der ursprünglichen und der neuen Spalte als Methodenparameter. Anhand der ursprünglichen Werte wird der ursprüngliche Datensatz gefunden. Mit den neuen Werten wird dieser Datensatz anschließend aktualisiert. Mit der TableAdapter.Update-Methode werden auch Änderungen in einem Dataset abgeglichen, das an die Datenbank zurückgesendet wird. Dazu wird DataSet, DataTable, DataRow oder ein Array aus DataRows als Methodenparameter verwendet. |
TableAdapter.Delete |
Löscht vorhandene Datensätze aus der Datenbank basierend auf den ursprünglichen Spaltenwerten, die als Methodenparameter übergeben werden. |
So speichern Sie neue Datensätze von einem Objekt in eine Datenbank
Erstellen Sie die Datensätze, indem Sie die Werte an die TableAdapter.Insert-Methode übergeben.
Im folgenden Beispiel wird in der Tabelle Customers ein neuer Kundendatensatz erstellt. Dazu werden die Werte im currentCustomer-Objekt an die TableAdapter.Insert-Methode übergeben.
Private Sub AddNewCustomer(ByVal currentCustomer As Customer) CustomersTableAdapter.Insert( currentCustomer.CustomerID, currentCustomer.CompanyName, currentCustomer.ContactName, currentCustomer.ContactTitle, currentCustomer.Address, currentCustomer.City, currentCustomer.Region, currentCustomer.PostalCode, currentCustomer.Country, currentCustomer.Phone, currentCustomer.Fax) End Sub
private void AddNewCustomers(Customer currentCustomer) { customersTableAdapter.Insert( currentCustomer.CustomerID, currentCustomer.CompanyName, currentCustomer.ContactName, currentCustomer.ContactTitle, currentCustomer.Address, currentCustomer.City, currentCustomer.Region, currentCustomer.PostalCode, currentCustomer.Country, currentCustomer.Phone, currentCustomer.Fax); }
So aktualisieren Sie vorhandene Datensätze von einem Objekt in eine Datenbank
Ändern Sie die Datensätze, indem Sie die TableAdapter.Update-Methode aufrufen und die neuen Werte zur Aktualisierung des Datensatzes sowie die ursprünglichen Werte zum Finden des Datensatzes übergeben.
Tipp
Das Objekt muss die ursprünglichen Werte beibehalten, um sie an die Update-Methode übergeben zu können. In diesem Beispiel werden Eigenschaften mit einem orig-Präfix verwendet, um die ursprünglichen Werte zu speichern.
Im folgenden Beispiel wird in der Tabelle Customers ein vorhandener Datensatz aktualisiert. Dazu werden die ursprünglichen und die neuen Werte im Customer-Objekt an die TableAdapter.Update-Methode übergeben.
Private Sub UpdateCustomer(ByVal cust As Customer) CustomersTableAdapter.Update( cust.CustomerID, cust.CompanyName, cust.ContactName, cust.ContactTitle, cust.Address, cust.City, cust.Region, cust.PostalCode, cust.Country, cust.Phone, cust.Fax, cust.origCustomerID, cust.origCompanyName, cust.origContactName, cust.origContactTitle, cust.origAddress, cust.origCity, cust.origRegion, cust.origPostalCode, cust.origCountry, cust.origPhone, cust.origFax) End Sub
private void UpdateCustomer(Customer cust) { customersTableAdapter.Update( cust.CustomerID, cust.CompanyName, cust.ContactName, cust.ContactTitle, cust.Address, cust.City, cust.Region, cust.PostalCode, cust.Country, cust.Phone, cust.Fax, cust.origCustomerID, cust.origCompanyName, cust.origContactName, cust.origContactTitle, cust.origAddress, cust.origCity, cust.origRegion, cust.origPostalCode, cust.origCountry, cust.origPhone, cust.origFax); }
So löschen Sie vorhandene Datensätze aus einer Datenbank
Löschen Sie die Datensätze, indem Sie die TableAdapter.Delete-Methode aufrufen und die ursprünglichen Werte zum Finden des Datensatzes übergeben.
Tipp
Das Objekt muss die ursprünglichen Werte beibehalten, um sie an die Delete-Methode übergeben zu können. In diesem Beispiel werden Eigenschaften mit einem orig-Präfix verwendet, um die ursprünglichen Werte zu speichern.
Im folgenden Beispiel wird in der Tabelle Customers ein Datensatz gelöscht. Dazu werden die ursprünglichen Werte im Customer-Objekt an die TableAdapter.Delete-Methode übergeben.
Private Sub DeleteCustomer(ByVal cust As Customer) CustomersTableAdapter.Delete( cust.origCustomerID, cust.origCompanyName, cust.origContactName, cust.origContactTitle, cust.origAddress, cust.origCity, cust.origRegion, cust.origPostalCode, cust.origCountry, cust.origPhone, cust.origFax) End Sub
private void DeleteCustomer(Customer cust) { customersTableAdapter.Delete( cust.origCustomerID, cust.origCompanyName, cust.origContactName, cust.origContactTitle, cust.origAddress, cust.origCity, cust.origRegion, cust.origPostalCode, cust.origCountry, cust.origPhone, cust.origFax); }
Sicherheit
Sie benötigen die Berechtigung, den ausgewählten INSERT-, UPDATE- oder DELETE-Vorgang in der Tabelle in der Datenbank auszuführen.
Siehe auch
Aufgaben
Gewusst wie: Herstellen einer Verbindung mit Daten in Objekten
Exemplarische Vorgehensweise: Herstellen einer Verbindung mit Daten in Objekten (Windows Forms)
Gewusst wie: Direktes Zugreifen auf die Datenbank mit einem TableAdapter
Konzepte
Objektbindung in Visual Studio
Binden von Windows Forms-Steuerelementen an Daten in Visual Studio
Binden von Steuerelementen an Daten in Visual Studio
Weitere Ressourcen
Herstellen von Datenverbindungen in Visual Studio
Vorbereiten der Anwendung auf den Empfang von Daten
Abrufen von Daten für die Anwendung