Aracılığıyla paylaş


İzlenecek yol: İlgili Veri Tablolarından Veri Kaydetme (Hiyerarşik Güncelleştirme)

Tek bir veri tablosu ile çalıştığınız ve yabancı anahtar kısıtlamalar değerlendirilmesi için gereken veriler veritabanına bir uygulamada kaydedilirken oldukça basittir.Ancak, iki veya daha fazla tablo ilgili verileri içeren bir veri kümesinden verileri kaydetmek gerektiğinde, kısıtlamalar ihlal edildi değil, değişiklikleri belirli bir sırayla veritabanına gönderdiğiniz gerekir.İlişkili tablolar değiştirilmiş verileri güncelleştirin, belirli bir veri kümelerine her veri tablosundan ayıklamak ve doğru sırada veritabanına güncelleştirmeleri göndermek için program mantığını sağlayabilirsiniz veya kullanabileceğiniz TableAdapterManager bileşeni.

Bu ilgili verileri kullanarak kaydetmek nasıl gösterilir TableAdapterManager bileşeni.Kodlama hakkında bilgi veri tablosu güncelleştirmeleri el ile ilgili bakın, İzlenecek yol: Verileri Bir Veritabanına Kaydetme (Birden Çok Tablo).

Önkoşullar

Bu kılavuzu tamamlamak için gerekenler:

Windows tabanlı bir uygulama oluşturma

Bu kılavuz ilk adımı Windows tabanlı yeni bir uygulama oluşturulmasıdır.

Yeni Windows tabanlı uygulama oluşturmak için

  1. Öğesinden Dosya menüsü, yeni bir proje oluşturun.

    [!NOT]

    Visual Basic ve C# projelerinizde hiyerarşik güncelleştirme desteklenir, dolayısıyla bu dillerin birinde yeni proje oluşturun.

  2. Proje adı HierarchicalUpdateWalkthrough.

  3. Seçin Windows Forms uygulaması tıklatıp Tamam.Daha fazla bilgi için .NET Framework ile İstemci Uygulamaları Geliştirme.

    HierarchicalUpdateWalkthrough Proje oluşturulur ve eklenen Çözüm Gezgini.

Veri Kümesi Oluşturma

Hiyerarşik güncelleştirmeleri göstermek için ilişkili tablolar gerektiğinden, Northwind veritabanındaki müşteriler ve Siparişler tablolarını içeren bir veri kümesi için sonraki adıma oluşturulmasıdır.Kullanarak veri kümesi oluşturma veri kaynağı Yapılandırma Sihirbazı.Bağlantıyı oluşturmak için Northwind örnek veritabanına erişiminiz olmalıdır.Northwind örnek veritabanı ayarlama hakkında daha fazla bilgi için bkz: Nasıl Yapılır: Örnek Veritabanları Yükleme.

Veri kümesi oluşturma

  1. Veri menüsünden Veri Kaynaklarını Göster'i tıklatın.

  2. Veri Kaynağı Yapılandırma Sihirbazı'nı başlatmak için Veri Kaynakları penceresinde Yeni Veri Kaynağı Ekle'ye tıklayın.

  3. Bir Veri Kaynağı Türü Seçin sayfasında Veritabanı'na ve ardından İleri'ye tıklayın.

  4. Üzerinde Bilgisayarınızı veri bağlantısı seçin sayfasında, aşağıdaki eylemlerden birini gerçekleştirin:

    • Aşağı açılır liste kutusunda Northwind örnek veritabanına veri bağlantısı kullanılabilir durumda,'ı tıklatın.

      -veya-

    • Tıklatın Yeni bağlantı açmak için Ekle/Değiştir bağlantı iletişim kutusu.

  5. Veritabanınız parola gerektiriyorsa, hassas verileri eklemek için bir seçenek belirleyip İleri'ye tıklayın.

  6. Tıklatın sonraki üzerinde bağlantı dizesini uygulama yapılandırma dosyası Kaydet sayfa.

  7. Veritabanı Nesnelerinizi Seçin sayfasında Tablolar düğümünü genişletin.

  8. Customers ve Orders tablolarının onay kutularına ve sonra Son'a tıklayın.

    NorthwindDataSet oluşturulur ve projenize, eklenir ve tabloları görünür veri kaynakları pencere.

Oluşturulacak varsayılan veri ilişkili denetimleri değiştirme

Doldurma sonra veri kaynakları pencere öğeleri Windows forma sürükleyin oluşturulmasına denetimleri seçebilirsiniz.Bu örnek için her denetim verileri Müşteri tablosundan görüntülenecek (ayrıntıları).Veri Siparişler tablosundaki görüntülenir bir DataGridView denetimi (DataGridView).

Veri kaynakları pencere öğeleri için denetimi ayarlamak için

  1. Veri Kaynakları penceresinde Customers düğümünü genişletin.

  2. Değiştirmek için oluşturulacak denetimleri Müşteriler tıklatarak tek denetimleri tabloya ayrıntıları denetim listesinde Müşteriler düğümü.Daha fazla bilgi için Nasıl yapılır: Veri Kaynakları Penceresinden Sürüklendiğinde Denetimin Oluşturulmasını Ayarlama.

    [!NOT]

    Siparişler tablo varsayılan denetim kullanacak DataGridView.

Veri bağlama Form oluşturma

Denetimleri seçmek sonra veri kaynakları penceresinde veri ilişkili denetimleri forma öğeleri sürükleyerek oluşturun.

Müşteriler ve siparişler veriler için veri bağlama denetimi oluşturmak için

  1. Ana sürükleyin Müşteriler düğümünden veri kaynakları penceresinden Form1.

    Veri ilişkili denetimleri tanımlayıcı etiketler ile birlikte formda görünen bir TableAdapterManager bileşeni, bir araç çubuğu (BindingNavigator) kayıt gezinme.Bir belirtilmiş veri kümesi, TableAdapter, ve bir BindingSource, bileşen alanı içinde görüntülenir.

  2. İlgili sürükleyin Siparişler düğümünden veri kaynakları penceresinden Form1.

    [!NOT]

    İlgili Siparişler düğümü altında bulunur Faks Müşteriler tablosunda düğümünün ve bir alt düğüm Müşteriler düğümü.Siparişler eşler arası olarak görünür düğüm Müşteriler düğümü tablodaki tüm siparişler temsil eder.Siparişler alt düğümü olarak görünür düğüm Müşteriler düğümü ilgili Siparişler temsil eder.

    Bir DataGridView denetimi ve bir araç (BindingNavigator) kayıtları gezinmek için formda görünür.Bir TableAdapter ve bir BindingSource Bileşen alanı içinde görüntülenir.

Oluşturulan hiyerarşik güncelleştirme gerçekleştirmek için kod Kaydet değiştirme

Değişiklikleri veri kümesindeki ilgili verileri tablolardan veritabanına çağırarak kaydetmek TableAdapterManager.UpdateAll yöntemi ve geçirme ilişkili tabloları içeren veri kümesinin adı.Örneğin, çalışması TableAdapterManager.UpdateAll(NorthwindDataset) NorthwindDataset tüm tablolardaki için arka uç veritabanı güncellemelerin yöntemi.

Öğeleri bırakın sonra veri kaynakları penceresinde, kod otomatik olarak eklenen Form_Load her bir tablo doldurmak için olay ( TableAdapter.Fill yöntemleri).Kod eklenen de Kaydet düğmesini tıklatın, olay BindingNavigator veri kümesindeki veritabanına kaydetmek için ( TableAdapterManager.UpdateAll yöntemi).

Oluşturulan kod Kaydet ayrıca çağıran kod bir çizgi içeren CustomersBindingSource.EndEdit yöntemi.Daha açık belirtmek gerekirse, çağıran EndEdit ilk yöntemi BindingSource forma eklenir.Diğer bir deyişle, bu kodu yalnızca gelen sürüklenip ilk tablo için oluşturulan veri kaynakları forma pencere.EndEdit Araması düzenlenmekte olan herhangi bir veri bağlama denetim işleminde değişiklikleri kaydeder.Bu nedenle, veri bağlama denetimi yine de varsa odak'ı Kaydet denetim kaydedilen gerçek kaydetme önce tüm bekleyen düzenlemeleri düğmesi, ( TableAdapterManager.UpdateAll yöntemi).

[!NOT]

Tasarımcı yalnızca ekler BindingSource.EndEdit ilk tablo için kod bırakılan forma.Bu nedenle, çağırmak için kod satırı eklemeniz gerekir BindingSource.EndEdit her ilişkili tablo formunda için yöntem.Bu örnek için bu sahip bir çağrı eklemek anlamına gelir OrdersBindingSource.EndEdit yöntemi.

Değişiklikleri kaydetmeden önce ilişkili tabloları için uygulamak için kodu güncelleştirmek için

  1. Çift Kaydet düğmesini BindingNavigator açmak için Form1 Kod Düzenleyicisi'nde.

  2. Bir çağırmak için kod satırının Ekle OrdersBindingSource.EndEdit yöntemini çağıran satırdan CustomersBindingSource.EndEdit yöntemi.Koddaki Kaydet düğmesini tıklatın olay aşağıdaki benzer:

    Me.Validate()
    Me.CustomersBindingSource.EndEdit()
    Me.OrdersBindingSource.EndEdit()
    Me.TableAdapterManager.UpdateAll(Me.NorthwindDataSet)
    
    this.Validate();
    this.customersBindingSource.EndEdit();
    this.ordersBindingSource.EndEdit();
    this.tableAdapterManager.UpdateAll(this.northwindDataSet);
    

İlgili alt tablodaki veri bir veritabanına kaydetmeden önce yaptığınız değişiklikler ek olarak, bir veri kümesine yeni alt kayıtlar eklemeden önce yeni oluşturulan yürütme üst kayıtları için de olabilir.Yeni alt kayıtlar (veri kümesine eklenecek siparişler) yabancı anahtar kısıtlamaları etkinleştirmeden önce başka bir deyişle, yeni üst kaydı (müşteri) eklemek veri kümesine olabilir.Bunu gerçekleştirmek için alt kullanabileceğiniz BindingSource.AddingNew olay.

[!NOT]

İsteyebilir veya yeni bir üst kayıtları tamamlamaya olmayabilir; Bu, veri kaynağına bağlanmak için kullanılan bir denetim türüne bağlıdır.Bu örnekte, üst tabloya bağlamak için tek denetimleri kullanın. Bu yeni ana kayıt uygulamak için ek kodu gerektirir.Üst kayıtları, karmaşık bağlama denetimi görüntülendiğinde ister DataGridView, bu ek EndEdit ana kayıt gerekli olmayacaktır için çağrılır.Yeni kayıtları Sistemi'ne denetiminin temel veri bağlama işlevleri işler olmasıdır.

Yeni alt kayıtlar eklemeden önce üst veri kümesindeki kayıtları uygulamak için kodu eklemek için

  1. Oluşturmak için bir olay işleyicisi OrdersBindingSource.AddingNew olay.

    • Açık Form1 tasarım Görüntüle'yi tıklatın OrdersBindingSource bileşen alanı içinde seçin olayları içinde özellikleri penceresi ve ardından çift AddingNew olay.
  2. Olay işleyicisine bir çağıran kod satırının Ekle CustomersBindingSource.EndEdit yöntemi.Koddaki OrdersBindingSource_AddingNew olay işleyicisi aşağıdaki benzer:

    Me.CustomersBindingSource.EndEdit()
    
    this.customersBindingSource.EndEdit();
    

Doğrulanıyor emin hiyerarşik güncelleştirmeleri etkin

Hiyerarşik güncelleştirmeleri açık açılıp ayarlayarak hiyerarşik güncelleştirme özellik kümesi.Hiyerarşik güncelleştirmeler, varsayılan olarak etkinleştirilir, bu örnek için değerini değiştirin gerekmez şekilde hiyerarşik güncelleştirme özelliği.

Hiyerarşik güncelleştirmeleri etkin olduğunu doğrulamak için

  1. Veri kümesindeki açmak Dataset Designer çift tıklatarak NorthwindDataSet.xsd içinde dosya Çözüm Gezgini.

  2. Tasarım yüzeyi üzerinde boş bir alanı seçin.

  3. Bulun hiyerarşik güncelleştirme özelliğinde Özellikler Penceresi ve kümesine olduğunu doğrulayın True.

    [!NOT]

    Hiyerarşik güncelleştirme özelliği ayarıdır ne kodu ile oluşturulup oluşturulmayacağını denetleyen bir TableAdapterManager ve hiyerarşik güncelleştirmeleri veya gerçekleştirmek için mantığı.Ayar HierarchicalUpdate için True oluşturur bir TableAdapterManager; ayar HierarchicalUpdate için False oluşturmak olmayan bir TableAdapterManager.

Uygulamayı Test Etme

Uygulamayı test etmek için

  1. F5 tuşuna basın.

  2. Bir veya daha fazla kayıt her tablodaki veri bazı değişiklikler yapın.

  3. Yeni bir müşteri ekleyin ve ardından bu müşteri için yeni bir düzeni ekleyin.

  4. Tıklatın Kaydet düğmesine tıklayın.TableAdapterManager İlgili tüm güncelleştirmeler için gereken mantığı işler.

  5. Değişiklikleri her tabloda kaydedildi doğrulamak için veritabanında değerlerini denetleyin.

Sonraki Adımlar

Uygulama gereksinimlerinize bağlı olarak, Windows tabanlı bir uygulama içinde ilgili verileri kaydettikten sonra gerçekleştirmek isteyebileceğiniz birkaç adım vardır.Bu uygulamaya hale getirebilir bazı geliştirmeler aşağıdakileri içerir:

  • Sipariş Ayrıntıları tablosundaki üçüncü bir tablo eklemek ve üç tablo hiyerarşisiyle denemek.

  • Bu verileri doğrulamak için ekleme doğrulama kodu veritabanı kısıtlamaları yanı sıra uygulama gereksinimleri karşılar.Daha fazla bilgi için Verileri Doğrulama.

Ayrıca bkz.

Görevler

Nasıl Yapılır: Bir Veri Kümesinde Yabancı Anahtar Kısıtlamalarını Yapılandırma

Nasıl yapılır: Hiyerarşik Güncelleştirme Yaparken Sırayı Ayarlama

Nasıl yapılır: Verileri Kaydetmeden Önce Verilere Bağlı Denetimler Üzerinde İşlem İçi Düzenlemeler Yürütme

Nasıl Yapılır: Mevcut Visual Studio Projelerinde Hiyerarşik Güncelleştirmeyi Uygulama

İzlenecek yol: İlgili Veri Tablolarından Veri Kaydetme (Hiyerarşik Güncelleştirme)

Kavramlar

Verileri Kaydetme

Diğer Kaynaklar

Hiyerarşik Güncelleştirme

DataSets, DataTables, and DataViews