.NET Framework uygulamalarında TableAdapter kullanarak verileri güncelleştirme

Not

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.

Veri kümenizdeki veriler değiştirilip doğrulandıktan sonra, TableAdapter yöntemini çağırarak Update güncelleştirilmiş verileri veritabanına geri gönderebilirsiniz. Update yöntemi tek bir veri tablosunu güncelleştirir ve tablodaki her veri satırını temel alarak RowState doğru komutu (INSERT, UPDATEveya DELETE) çalıştırır. Bir veri kümesinin ilişkili tabloları olduğunda Visual Studio, güncelleştirmeleri yapmak için kullandığınız bir TableAdapterManager sınıfı oluşturur. TableAdapterManager sınıfı, veritabanında tanımlanan yabancı anahtar kısıtlamalarına göre güncelleştirmelerin doğru sırada yapılmasını sağlar. Veriye bağlı denetimleri kullandığınızda, veri bağlama mimarisi tableAdapterManager sınıfının tableAdapterManager adlı bir üye değişkeni oluşturur.

Not

Veri kaynağını veri kümesinin içeriğiyle güncelleştirmeye çalıştığınızda hata alabilirsiniz. Hataları önlemek için bağdaştırıcının Update yöntemini çağıran kodu bir try/catch bloğun içine yerleştirmenizi öneririz.

Veri kaynağını güncelleştirmeye yönelik tam yordam, iş gereksinimlerine bağlı olarak değişebilir, ancak aşağıdaki adımları içerir:

  1. Bağdaştırıcının Update yöntemini bir try/catch blok içinde çağırın.

  2. Bir özel durum yakalanırsa, hataya neden olan veri satırını bulun.

  3. Veri satırındaki sorunu düzeltin (program aracılığıyla veya geçersiz satırı değişiklik için kullanıcıya sunarak) ve sonra güncelleştirmeyi yeniden deneyin (HasErrors, GetErrors).

Verileri veritabanına kaydetme

Update TableAdapter yöntemini çağırın. Veritabanına yazılacak değerleri içeren veri tablosunun adını geçirin.

TableAdapter kullanarak veritabanını güncelleştirmek için

  • TableAdapter'ınUpdate yöntemini bir try/catch blok içine alın. Aşağıdaki örnekte içindeki tablonun NorthwindDataSet içeriğinin bir trycatch/bloğunun Customers içinden nasıl güncelleştirilecekleri gösterilmektedir.

    try
    {
        this.Validate();
        this.customersBindingSource.EndEdit();
        this.customersTableAdapter.Update(this.northwindDataSet.Customers);
        MessageBox.Show("Update successful");
    }
    catch (System.Exception ex)
    {
        MessageBox.Show("Update failed");
    }