Aracılığıyla paylaş


İzlenecek yol: N Katmanlı bir Veri Uygulamasına Doğrulama Ekleme

Verileri doğrulama, veri nesnelerine girilen değerlerin onaylanması işlemidir (örneğin, DataTable ya da LINQ to SQL sınıfları).Doğrulama ayrıca, uygulama için belirlenen kurallarla uyumu sağlar.Alttaki veritabanına güncelleştirmeleri göndermeden önce verileri doğrulamak hataları azaltan iyi bir uygulamadır.Uygulama ve veritabanı arasındaki gidiş gelişlerin potansiyel sayısını da azaltır.

Bu izlenecek yol, bir n-katmanlı uygulamaya doğrulama eklemek için adım adım yönergeler sağlar (İzlenecek Yol: N Katmanlı Bir Veri Uygulaması Oluşturma konusunda oluşturulan çözüm).

Bu kılavuz boyunca aşağıdaki görevlerin nasıl gerçekleştirileceğini öğreneceksiniz:

Önkoşullar

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

[!NOT]

Bilgisayarınız, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arabirimi öğelerinden bazıları için farklı adlar veya konumlar gösterebilir. Sahip olduğunuz Visual Studio sürümü ve kullandığınız ayarlar bu öğeleri belirler. Daha fazla bilgi için, bkz. Visual Studio'da Geliştirme Ayarlarını özelleştirme.

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

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

Bireysel Sütun Değişimi Sırasında Veri Denetlemek için Doğrulama ekleme

Bu yordam, yeni bir siparişteki OrderDate sütunun geçerli veya daha önceki tarih değerine ayarlandığını doğrulamak için doğrulama ekler.Bu uygulamanın gereksinimi, OrderDate sütunu bugünden daha ileri bir tarih içeremeyeceğidir; ileri tarihteki siparişlere izin verilmez.

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

  1. Çözüm Gezgini'nde DataAccessTier projesindeki NorthwindDataSet.xsd dosyasını çift tıklayarak Türü Belirtilmiş Veri Kümeleri Oluşturma ve Düzenleme'da veri kümesini açın.

  2. Tasarımcıdaki Siparişler tablosunun OrderDate sütununu çift tıklatın.Bu eylem, ColumnChanging olay işleyicisini oluşturur.

    [!NOT]

    Dataset Designer, C# olayı için otomatik olarak bir olay işleyicisi oluşturmaz.Olayı C#'ta işlemek için gereken kod, aşağıda bu yordama eklenmiştir.SampleColumnChangingEvent oluşturulur ve EndInit yöntemindeki ColumnChanging olayına kaydolur.

  3. Geçerli tarihi veya öncesini içeren OrderDate sütununa ilişkin e.ProposedValue öğesini doğrulamak için kod ekleyin.Önerilen değer geçerli değilse, hata içerdiğini belirtmek için sütunu ayarlayın.

    Aşağıdaki kod örneği OrderDate sütununun mevcut tarih veya daha önceki bir tarihi içerdiğini doğrular.OrderDate değeri bugünden sonraki bir tarihse OrderDate sütunu hata olarak ayarlanır.OrderDate bugün veya daha önceyse Else yan tümcesi hatayı siler.

    Visual Basic kodunu ColumnChanging olay işleyicisine yapıştırın.C# kodunu OrdersDataTable kısmi sınıf bildirimine yapıştırın.

    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, OrderDate sütununun değerini geçersiz bir tarihle değiştirin.

Uygulamayı test etmek için

  1. F5 tuşuna basın.

  2. Müşteriler ve Siparişler tablolarından alınan veriler formda görünür.

  3. Siparişlerin bulunduğu DataGridView'da, OrderDate sütunundaki değeri (herhangi bir kayıttan) yarının tarihiyle değiştirin.

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

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

  5. Doğrulama hatasını görmek için fare imlecini hata simgesi üzerinde tutun.

  6. Formu kapatın.

Sonraki Adımlar

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

Ayrıca bkz.

Diğer Kaynaklar

N Katmanlı Uygulamalarda Veri Kümeleriyle Çalışma

Hiyerarşik Güncelleştirme

Visual Studio'da Veri Erişimi