Udostępnij za pośrednictwem


Porady: sprawdzanie poprawności danych podczas przeprowadzania zmian w kolumnach

Sprawdzanie poprawności danych jest procesem sprawdzania wartości wprowadzanych w danych aplikacji. Sprawdzanie te wartości przed do wysyłania aktualizacji do magazynu danych podstawowych jest dobrą praktyką, która zmniejsza liczbę potencjalnych przeloty aplikacji i magazynu danych.

Uwaga

Projektant Dataset tworzy klasę częściowe, gdzie logiki sprawdzania poprawności mogą być dodawane do obiektu dataset.Zestaw danych generowanych przez projektanta nie będzie usunąć lub zmienić dowolny kod w klasie częściowe.Aby uzyskać więcej informacji, zobacz Porady: rozszerzanie funkcjonalności zestawu danych.

Można sprawdzić poprawność danych po zmianie wartości w kolumnie danych, odpowiadając na ColumnChanging zdarzenia. Podczas podniesione, zdarzenie to przekazuje argument zdarzenia (ProposedValue) zawierającego wartość, proponowane dla bieżącej kolumny. Na podstawie zawartości e.ProposedValue, można:

Można również przeprowadzić sprawdzania poprawności podczas RowChanging zdarzenia. Aby uzyskać więcej informacji, zobacz Porady: sprawdzanie poprawności danych podczas przeprowadzania zmian w wierszach.

Aby sprawdzić poprawność danych jako zmiana wartości w kolumnie

  1. Otwarcie zestawu danych w Projektant Dataset. Aby uzyskać więcej informacji, zobacz Porady: otwieranie zestawu w narzędziu Projektant obiektów Dataset.

  2. Kliknij dwukrotnie kolumnę, którą chcesz sprawdzić. Ta akcja tworzy ColumnChanging obsługi zdarzeń DataTable.

    Uwaga

    Projektant Dataset nie tworzy automatycznie obsługi zdarzeń dla zdarzenia języka C#.Poniżej znajduje się kod, potrzebnych do obsługi zdarzenia.

  3. Dodaj kod, aby zweryfikować, czy e.ProposedValue zawiera dane, które spełnia wymagania aplikacji. Jeżeli proponowana wartość jest niedopuszczalne, a następnie ustaw kolumnę, aby wskazać, że zawiera ona błąd.

    Poniższy przykład kodu ustawia błąd kolumny po Quantity kolumna jest 0 lub mniej. Obsługi zdarzenia Zmiana kolumny powinno wyglądać podobnie do następującego:

    'Visual Basic
    Private Sub Order_DetailsDataTable_ColumnChanging(ByVal sender As System.Object, ByVal e As System.Data.DataColumnChangeEventArgs) _
        Handles Me.ColumnChanging
    
        If (e.Column.ColumnName = Me.QuantityColumn.ColumnName) Then
    
            If CType(e.ProposedValue, Short) <= 0 Then
            e.Row.SetColumnError(e.Column, "Quantity must be greater than 0")
        Else
            e.Row.SetColumnError(e.Column, "")
            End If
        End If
    End Sub
    
    // C#
    // Add this code to the DataTable 
    // partial class.
        public override void EndInit()
        {
            base.EndInit();
            ColumnChanging += SampleColumnChangingEvent;
        }
    
        public void SampleColumnChangingEvent(object sender, System.Data.DataColumnChangeEventArgs e)
        {
            if (e.Column.ColumnName == QuantityColumn.ColumnName)
            {
                if ((short)e.ProposedValue <= 0)
                {
                    e.Row.SetColumnError("Quantity", "Quantity must be greater than 0");
                }
                else
                {
                    e.Row.SetColumnError("Quantity", "");
                }
            }
        }
    

Zobacz też

Zadania

Wskazówki: wyświetlanie danych na formularzach systemu Windows

Porady: sprawdzanie poprawności danych w formancie DataGridView formularzy systemu Windows

Porady: wyświetlanie ikon błędów dotyczących weryfikacji formularza za pomocą składnika ErrorProvider formularzy systemu Windows

Porady: łączenie z danymi w bazie danych

Informacje

Okno źródła danych

Koncepcje

TableAdapter — Przegląd

Tworzenie i edytowanie wpisanych zestawów danych

Źródła danych — Przegląd

Sprawdzanie poprawności danych