Aracılığıyla paylaş


İzlenecek yol: n-katmanlı veri uygulama doğrulama ekleme

Doğrulama nesnenin şema kısıtlamalar veri nesneleri (örneğin, DataTable ya da sql sınıfları için LINQ) içine girilen değerlere uymak onaylama işlemi verilerdir.Doğrulama da uygulama için belirlenen kurallar ile uyumluluğunu garanti altına alır.Alttaki veritabanına güncelleştirme göndermeden önce veri doğrulama hataları azaltır, iyi bir uygulamadır.Ayrıca, başvurular bir uygulama ve veritabanı arasındaki olası sayısını azaltır.

Bu izlenecek yol doğrulama n-katmanlı uygulama eklemek için adım adım yönergeler sağlar (oluşturulan çözüm İzlenecek yol: n-katmanlı veri uygulaması oluşturma konu).

Bu izlenecek yolda sırasında aşağıdaki görevleri gerçekleştirmek öğreneceksiniz:

Önkoşullar

Bu yönergeyi tamamlamak için aşağıdakilere ihtiyacınız vardır:

[!NOT]

Bilgisayarınızda, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arabirimi öğelerinden bazılarının adı veya konumu farklı gösterilebilir. Bu öğeleri bilgisayarınızdaki Visual Studio sürümü ve kullandığınız ayarlar belirler. Daha fazla bilgi için bkz: Visual Studio ayarları.

NTierWalkthrough çözüm açılıyor

NTierWalkthrough çözümü açmak için

Tek bir sütun değişikliği sırasında verileri denetlemek için doğrulama ekleme

Bu yordam, yeni bir sipariş OrderDate sütununda geçerli tarihi veya daha önceki değerine ayarlandığını doğrulamak için doğrulama ekleyeceksiniz.Bu uygulama OrderDate sütununun daha sonraki bir tarih olamaz gereksinimdir bugünden; Gelecekteki siparişleri izin verilmez.

OrderDate sütununa girilen değeri doğrulamak için doğrulama eklemek için

  1. Dataset içinde açın Türü Belirtilmiş Veri Kümeleri Oluşturma ve Düzenleme DataAccessTier projesinde Solution Explorer'da NorthwindDataSet.xsd dosyasını çift tıklatarak.

  2. Tasarımcı Orders tablosundaki OrderDate sütununa çift tıklatın.Bu eylemi oluşturur ColumnChanging olay işleyicisi.

    [!NOT]

    Dataset Designer C# olayı için bir olay işleyicisi otomatik olarak oluşturmaz.C# [NULL]'taki olayý iþlemek için gereken kod, bu yordamı eklenmiştir.SampleColumnChangingEventoluşturulur ve sonra abone oldukları ColumnChanging olayında EndInit yöntemi.

  3. Doğrulamak için kod ekleyin e.ProposedValue için sipariş tarihi geçerli tarih sütunu içerir veya önceki bir sürümü.Önerilen değer geçerli değilse, hata içerdiğini belirtmek için sütun ayarla.

    Aşağıdaki kod örneği, OrderDate sütununda geçerli tarihi içeren doğrular veya önceki bir sürümü.OrderDate değeri bugünden sonraki bir tarih ise, OrderDate sütununda bir hata için ayarlanır.Else Yan tümcesi, OrderDate bugün veya önceki ise hata temizler.

    Visual Basic kodu içine yapıştırın ColumnChanging olay işleyicisi.C# kodu yapıştırın OrdersDataTable kısmi sınıf bildirimi.

    If (e.Column.ColumnName = Me.OrderDateColumn.ColumnName) Then
        If CType(e.ProposedValue, DateTime) > Today Then
            e.Row.SetColumnError(e.Column, "OrderDate cannot be in the future")
        Else
            e.Row.SetColumnError(e.Column, "")
        End If
    End If
    
    // Replace the NorthwindDataSet partial class with the following:
    public partial class NorthwindDataSet
    {
        partial class OrdersDataTable
        {
            public override void EndInit()
            {
                base.EndInit();
                // Configure the ColumnChanging event
                // to call the SampleColumnChangingEvent method.
                ColumnChanging += SampleColumnChangingEvent;
            }
    
            public void SampleColumnChangingEvent(object sender, System.Data.DataColumnChangeEventArgs e)
            {
                if (e.Column.ColumnName == OrderDateColumn.ColumnName)
                {
                    if ((System.DateTime)e.ProposedValue > System.DateTime.Today)
                    {
                        e.Row.SetColumnError("OrderDate", " OrderDate cannot be in the future");
                    }
                    else
                    {
                        e.Row.SetColumnError("OrderDate", "");
                    }
                }
    
            }
        }
    }
    

Uygulamayı Test Etme

Uygulamayı test etmek için geçersiz bir tarih OrderDate sütununun değerini değiştirin.

Uygulamayı test etmek için

  1. F5'e basın.

  2. Müşteriler ve Siparişler tablolarındaki verileri formda görünür.

  3. Siparişleri içeren DataGridView, yarının tarihiyle OrderDate sütununa (herhangi bir kayıt) değeri değiştirin.

  4. Değişikliği kabul etmek için satır gidin.

    Doğrulama başarısız olur ve geçersiz değer içeriyor SiparişTarihi hücrede bir hata simgesi görüntülenir.

  5. Fare işaretçisini doğrulama hatasını görmek için hata simgesinin üzerinde tutun.

  6. Formu kapatın.

Sonraki Adımlar

Uygulama gereksinimlerinize bağlı olarak, n-katmanlı uygulama doğrulama ekledikten sonra gerçekleştirmek isteyebileceğiniz birkaç adım vardır.Örneğin, bu uygulama için aşağıdaki geliştirme yapmak isteyebilirsiniz:

Ayrıca bkz.

Kavramlar

Visual Studio 2012'deki Veri Uygulaması Geliştirme Yenilikleri

Diğer Kaynaklar

n-katmanlı uygulamalarda DataSet nesneleri ile çalışma

Hiyerarşik güncelleştirme

Visual Studio verilere erişme