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

Edytowanie danych w aplikacji

Sprawdzanie poprawności danych

Zapisywanie danych

Inne zasoby

Łączenie z danymi w Visual Studio