Udostępnij za pośrednictwem


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

Sprawdzanie poprawności danych jest procesem sprawdzania wartości wprowadzanych w danych aplikacji. Jest dobrą praktyką, aby sprawdzić te wartości przed wysłaniem aktualizacji do magazynu danych. To jest spowodowane zmniejszeniem potencjalnej liczby wycieczek tam i z powrotem między aplikacją a bazą danych.

Uwaga

Projektant zestawu danych tworzy częściową klas, gdzie logika sprawdzania poprawności może być dodawana do zestawu danych.Zestaw danych generowanych przez projektanta nie usuwa ani nie zmienia kodu w klasie częściowej.

Można sprawdzić poprawność danych po zmianie wartości w wierszu danych, odpowiadając na RowChanging zdarzenia. Gdy wywoływane, zdarzenie to przekazuje argument zdarzeń (e.Row) zawierające wartości proponowane dla każdej kolumny w bieżącym wierszu. Na podstawie zawartości każdej z kolumn w e.Row, użytkownik może:

  • Zaakceptuj wartość proponowaną przez wstrzymanie się od jakichkolwiek czynności.

  • Odrzuć proponowaną wartość przez ustawienie błędu kolumny (SetColumnError) w ramach programu obsługi zdarzeń zmiany wiersza.

  • Opcjonalnie można użyć ErrorProvider formantu, aby wyświetlić komunikat o błędzie do użytkownika. Aby uzyskać więcej informacji, zobacz ErrorProvider — Składnik (Formularze systemu Windows).

Sprawdzanie poprawności podczas zmiany poszczególnych kolumn można również wykonać za pomocą ColumnChanging zdarzenia. Aby uzyskać więcej informacji, zobacz Porady: sprawdzanie poprawności danych podczas przeprowadzania zmian w kolumnach.

Sprawdzanie poprawności danych w zdarzeniu Zmiana wiersza

Można napisać kod, aby sprawdzić, czy każda kolumny, której poprawność chcesz sprawdzić zawiera dane, które spełniają wymagania aplikacji. Jeżeli proponowana wartość jest nieakceptowana, należy ustawić kolumny, aby wskazać, że zawiera błąd. W następujących przykładach ustawiona jest błąd kolumny gdy Quantity kolumna jest mniejsza lub równa 0. Zdarzenie obsługi zmieniające rząd powinno wyglądać jak w następujących przykładach.

Do sprawdzania poprawności danych, gdy wiersz zmieni (Visual Basic)

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

  2. Kliknij dwukrotnie pasek tytułu tabeli, którą chcesz sprawdzić. Ta akcja tworzy automatycznie RowChanging programu obsługi zdarzeń z DataTable w pliku częściowej klasy zestawu danych.

    Porada

    Kliknij dwukrotnie po lewej stronie nazwy tabeli, aby utworzyć procedurę obsługi zdarzeń zmiany wiersza.Jeśli klikniesz dwukrotnie nazwę tabeli, można edytować nazwę tabeli.

    Private Sub Order_DetailsDataTable_Order_DetailsRowChanging(
        ByVal sender As System.Object, 
        ByVal e As Order_DetailsRowChangeEvent
      ) Handles Me.Order_DetailsRowChanging
    
        If CType(e.Row.Quantity, Short) <= 0 Then
            e.Row.SetColumnError("Quantity", "Quantity must be greater than 0")
        Else
            e.Row.SetColumnError("Quantity", "")
        End If
    End Sub
    

Do sprawdzania poprawności danych, gdy wiersz zmieni (C#)

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

  2. Kliknij dwukrotnie pasek tytułu tabeli, którą chcesz sprawdzić. Ta akcja tworzy plik częściowy klasy dla DataTable.

    Uwaga

    Projektant Zestawu danych nie tworzy automatycznie zdarzenia obsługi dla RowChanging zdarzenia.Musisz stworzyć metodę do obsługi RowChanging zdarzenia i wywołać kod, żeby podpiąć zdarzenie w metodzie inicjalizacji tabeli.

  3. Kopiuj następujący kod do klasy częściowej:

        public override void EndInit()
        {
            base.EndInit();
            Order_DetailsRowChanging += TestRowChangeEvent;
        }
    
        public void TestRowChangeEvent(object sender, Order_DetailsRowChangeEvent e)
        {
            if ((short)e.Row.Quantity <= 0)
            {
                e.Row.SetColumnError("Quantity", "Quantity must be greater than 0");
            }
            else
            {
                e.Row.SetColumnError("Quantity", "");
            }
        }
    

Zobacz też

Zadania

Porady: łączenie z danymi w bazie danych

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

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

Informacje

Okno źródła danych

Zdarzenia (Przewodnik programowania w języku C#)

Koncepcje

TableAdapter — Przegląd

Tworzenie i edytowanie wpisanych zestawów danych

Źródła danych — Przegląd

Sprawdzanie poprawności danych

Inne zasoby

Wskazówki dotyczące danych