Udostępnij za pośrednictwem


Porady: pobieranie określonych wersji DataRow

Gdy zostaną wprowadzone zmiany do wierszy danych, zestaw danych zachowuje zarówno oryginał (Original) i nowe (Current) wersje wiersza.Na przykład, przed wywołaniem metody AcceptChanges, aplikacja można uzyskać dostęp do różnych wersji rekordu (jak określono w wyliczeniu DataRowVersion) i odpowiednio przetworzyć zmiany.

[!UWAGA]

Istnieją różne wersje wiersza po jego edycji i przed wywołaniem metody AcceptChanges.Po wywołaniu metody AcceptChanges, bieżąca i oryginalna wersja są takie same.

Przekazywanie DataRowVersion wartości wraz z indeks kolumny (lub nazwą kolumny jako ciąg) zwraca wartość z tej kolumny określonego wiersza wersji.Zmieniona kolumna jest określana w trakcie ColumnChanging i ColumnChanged zdarzenia, więc to dobry moment, aby sprawdzić różniące się wersje wierszy do celów sprawdzania poprawności.Jednakże, jeśli ograniczenia zostały tymczasowo zawieszone, te zdarzenia nie zostaną wywołane i trzeba będzie programowo określić kolumny, które uległy zmianie.Można to zrobić przez iterację Columns zbieranie i porównywanie różnych DataRowVersion wartości.

Uzyskiwanie dostępu do oryginalnej wersji DataRow

Aby uzyskać oryginalną wersję rekordu

  • Uzyskaj dostęp do wartości kolumny przechodząc w DataRowVersion wiersza, który należy zwrócić.

    W poniższym przykładzie pokazano, jak można użyć DataRowVersion wartości, aby uzyskać oryginalną wartość CompanyName w DataRow:

    Dim originalCompanyName = NorthwindDataSet1.Customers(0)(
       "CompanyName", DataRowVersion.Original).ToString()
    
    string originalCompanyName;
    originalCompanyName = northwindDataSet1.Customers[0]
        ["CompanyName", DataRowVersion.Original].ToString();
    

Uzyskiwanie dostępu do bieżącej wersji DataRow

Aby uzyskać bieżącą wersji rekordu

  • Uzyskaj dostęp do wartości kolumny i dodaj parametr do indeksu wskazującego, którą wersję wiersza należy zwrócić.

    W poniższym przykładzie pokazano, jak można użyć DataRowVersion wartości, aby uzyskać bieżącą wartość CompanyName w DataRow:

    Dim currentCompanyName = NorthwindDataSet1.Customers(0)(
        "CompanyName", DataRowVersion.Current).ToString()
    
    string currentCompanyName;
    currentCompanyName = northwindDataSet1.Customers[0]
        ["CompanyName", DataRowVersion.Current].ToString();
    

Zobacz też

Koncepcje

Edytowanie danych w aplikacji

Sprawdzanie poprawności danych

Zapisywanie danych

Powiązywanie formantów formularzy systemu Windows z danymi w Visual Studio

Przygotowywanie aplikacji na otrzymywanie danych

Pobieranie danych do aplikacji

Powiązywanie kontrolek z danymi w Visual Studio

Inne zasoby

Wskazówki dotyczące danych

Przegląd aplikacji w Visual Studio

Łączenie z danymi w Visual Studio