Share via


.NET Framework uygulamalarında bir nesneden veritabanına veri kaydetme

Dekont

Veri kümeleri ve ilgili sınıflar, uygulamaların veritabanıyla bağlantısı kesilirken uygulamaların bellekteki verilerle çalışmasını sağlayan 2000'lerin başlarındaki eski .NET Framework teknolojileridir. Bunlar özellikle kullanıcıların verileri değiştirmesine ve değişiklikleri veritabanında kalıcı hale getirebilmesine olanak tanıyan uygulamalar için kullanışlıdır. Veri kümelerinin çok başarılı bir teknoloji olduğu kanıtlanmış olsa da, yeni .NET uygulamalarının Entity Framework Core kullanmasını öneririz. Entity Framework, tablosal verilerle nesne modelleri olarak çalışmak için daha doğal bir yol sağlar ve daha basit bir programlama arabirimine sahiptir.

Nesnenizdeki değerleri TableAdapter'ın DBDirect yöntemlerinden birine (örneğin, TableAdapter.Insert) geçirerek nesnelerdeki verileri veritabanına kaydedebilirsiniz. Daha fazla bilgi için bkz . TableAdapter.

Bir nesne koleksiyonundaki verileri kaydetmek için, nesne koleksiyonunda döngü yapın (örneğin, bir sonraki döngü) ve TableAdapter'ın DBDirect yöntemlerinden birini kullanarak her nesnenin değerlerini veritabanına gönderin.

Varsayılan olarak, DBDirect yöntemler doğrudan veritabanına karşı çalıştırılabilir bir TableAdapter üzerinde oluşturulur. Bu yöntemler doğrudan çağrılabilir ve bir veritabanına güncelleştirme göndermek için veya nesnelerin değişiklikleri mutabık kılması gerekmez DataSetDataTable .

Dekont

TableAdapter yapılandırırken, ana sorgunun oluşturulacak yöntemler için DBDirect yeterli bilgi sağlaması gerekir. Örneğin, bir TableAdapter tanımlanmış birincil anahtar sütunu olmayan bir tablodan verileri sorgulamak için yapılandırılmışsa, yöntem oluşturmaz DBDirect .

TableAdapter DBDirect yöntemi Açıklama
TableAdapter.Insert Veritabanına yeni kayıtlar ekler ve tek tek sütun değerlerini yöntem parametreleri olarak geçirmenizi sağlar.
TableAdapter.Update Veritabanındaki kayıtları Güncelleştirmeler. yöntemi, Update özgün ve yeni sütun değerlerini yöntem parametresi olarak alır. Özgün değerler özgün kaydı bulmak için kullanılır ve yeni değerler bu kaydı güncelleştirmek için kullanılır.

yöntemiTableAdapter.Update, yöntem parametreleri olarak bir , , DataTableDataRowveya s dizisi DataRowalarak DataSetbir veri kümesindeki değişiklikleri veritabanına geri döndürmek için de kullanılır.
TableAdapter.Delete Yöntem parametresi olarak geçirilen özgün sütun değerlerine göre veritabanından var olan kayıtları siler.

Bir nesneden veritabanına yeni kayıtlar kaydetmek için

  • Değerleri TableAdapter.Insert yöntemine geçirerek kayıtları oluşturun.

    Aşağıdaki örnek, nesnesindeki CustomersTableAdapter.Insert değerleri currentCustomer yöntemine geçirerek tabloda yeni bir müşteri kaydı oluşturur.

    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);
    }
    

Var olan kayıtları bir nesneden veritabanına güncelleştirmek için

  • yöntemini çağırarak TableAdapter.Update , kaydı güncelleştirmek için yeni değerleri geçirerek ve kaydı bulmak için özgün değerleri geçirerek kayıtları değiştirin.

    Dekont

    Nesnenizin yöntemine geçirmek Update için özgün değerleri koruması gerekir. Bu örnekte, özgün değerleri depolamak için ön orig eki olan özellikler kullanılır.

    Aşağıdaki örnek, nesnedeki Customers yeni ve özgün değerleri yöntemine TableAdapter.Update geçirerek tablodaki Customer mevcut bir kaydı güncelleştirir.

    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);
    }
    

Var olan kayıtları veritabanından silmek için

  • yöntemini çağırarak TableAdapter.Delete ve özgün değerleri geçirerek kaydı bulun.

    Dekont

    Nesnenizin yöntemine geçirmek Delete için özgün değerleri koruması gerekir. Bu örnekte, özgün değerleri depolamak için ön orig eki olan özellikler kullanılır.

    Aşağıdaki örnek, nesnedeki Customers özgün değerleri yöntemine geçirerek tablodan CustomerTableAdapter.Delete bir kaydı siler.

    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);
    }
    

.NET güvenliği

Seçili INSERT, UPDATEveya DELETE veritabanındaki tabloda gerçekleştirmek için izniniz olmalıdır.