Porady: zapisywanie z obiektu do bazy danych
Dane można zapisać obiektów do bazy danych przez przekazanie wartości z obiektu do jednej z metod DBDirect TableAdapter (na przykład, TableAdapter.Insert).Aby uzyskać więcej informacji, zobacz TableAdapter — Przegląd.
Aby zapisać dane ze zbioru obiektów, pętli zbioru obiektów (na przykład pętli dla następnego) i wysłać wartości dla każdego obiektu bazy danych, używając jednej z metod DBDirect TableAdapter.
Domyślnie metody DBDirect są tworzone na TableAdapter, które mogą być wykonywane bezpośrednio w bazie danych.Metody te mogą być wywoływane bezpośrednio i nie wymagają DataSet lub DataTable obiektów w celu uzgodnienia zmian, aby wysyłać aktualizacje do bazy danych.
[!UWAGA]
Konfigurując TableAdapter, głównej kwerendy musi dostarczyć wystarczających informacji w celu metody DBDirect, który ma zostać utworzony.Na przykład jeśli TableAdapter jest skonfigurowany do kwerendy danych z tabeli, które nie zostały zdefiniowane kolumny klucza podstawowego, to nie generuje metody DBDirect.
Metoda TableAdapter DBDirect |
Opis |
---|---|
TableAdapter.Insert |
Dodaje nowe rekordy do bazy danych pozwala przekazywać w wartości poszczególnych kolumn jako parametry metody. |
TableAdapter.Update |
Aktualizacje istniejących rekordów w bazie danych.Update Metoda pobiera wartości oryginalne i nowe kolumny jako parametry metody.Oryginalne wartości są używane do lokalizowania oryginalnego rekordu, a nowe wartości są używane do aktualizacji rekordu. TableAdapter.Update Metoda również jest używany w celu uzgodnienia zmian w zestawie danych z bazą, biorąc pod DataSet, DataTable, DataRow, lub w tablicy DataRows jako parametry metody. |
TableAdapter.Delete |
Usuwa istniejące rekordy z bazy danych na podstawie oryginalnej wartości kolumny przekazany jako parametry metody. |
Aby zapisać nowe rekordy z obiektu bazy danych
Tworzenie rekordów przez przekazanie wartości do TableAdapter.Insert metody.
Poniższy przykład tworzy nowy rekord klienta w Customers tabeli przez przekazanie wartości w currentCustomer obiektu do TableAdapter.Insert metody.
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); }
Aby zaktualizować istniejące rekordy z obiektu do bazy danych
Modyfikowanie rekordów, wywołując TableAdapter.Update metody, przekazując nowe wartości w celu zaktualizowania rekordu i przekazując w oryginalnej wartości do zlokalizowania rekordu.
[!UWAGA]
Obiekt musi zachować oryginalne wartości, w celu przekazania ich do Update metody.W tym przykładzie użyto właściwości z orig prefiks do przechowywania wartości oryginalnej.
Poniższy przykład aktualizuje istniejący rekord w Customers tabeli przez przekazanie wartości nowych i oryginalnego w Customer obiektu do TableAdapter.Update metody.
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); }
Aby usunąć istniejące rekordy z bazy danych
Usuwanie rekordów, wywołując TableAdapter.Delete metody i przechodzącą w oryginalnej wartości do zlokalizowania rekordu.
[!UWAGA]
Obiekt musi zachować oryginalne wartości, w celu przekazania ich do Delete metody.W tym przykładzie użyto właściwości z orig prefiks do przechowywania wartości oryginalnej.
Poniższy przykład powoduje usunięcie rekordu z Customers tabeli, przekazując oryginalne wartości w Customer obiektu do TableAdapter.Delete metody.
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); }
Zabezpieczenia
Musi mieć uprawnienia do wykonywania wybranej INSERT, UPDATE lub DELETE tabeli w bazie danych.
Zobacz też
Zadania
Porady: łączenie z danymi w obiektach
Wskazówki: łączenie z danymi w obiektach (formularze systemu Windows)
Porady: bezpośredni dostęp do bazy danych za pomocą TableAdapter
Koncepcje
Powiązanie obiektów w Visual Studio
Powiązywanie formantów formularzy systemu Windows z danymi w Visual Studio
Przygotowywanie aplikacji na otrzymywanie danych
Pobieranie danych do aplikacji
Powiązywanie kontrolek z danymi w Visual Studio
Sprawdzanie poprawności danych