Porady: rekordy dostępu w powiązanych DataTables

Jeśli tabele w zestawie danych są powiązane, DataRelation obiektu można udostępnić rekordy pokrewne w innej tabeli. Na przykład dataset zawierającego Customers i Orders tabele mogą być udostępniane.

Można użyć DataRelation obiektu do lokalizowania rekordów pokrewnych, wywołując GetChildRows metoda DataRow w tabeli nadrzędnej; Ta metoda zwraca tablicę powiązanych rekordach podrzędnych. Lub może wywołać GetParentRow metoda DataRow w tabeli podrzędnej; Ta metoda zwraca pojedynczy DataRow z tabeli nadrzędnej.

Ta strona pomocy zawiera przykłady, korzystając z zestawów danych wpisywanych. Aby uzyskać informacje o nawigowaniu relacje w zestawach danych bez typu, zobacz Navigating DataRelations.

Uwaga

Jeśli pracujesz w aplikacji Windows Forms i za pomocą funkcji wiązania danych, aby wyświetlić dane, Projektant formularza generowanych może zapewnia funkcjonalność wystarczającą dla danej aplikacji.Aby uzyskać więcej informacji, zobacz strony na Powiązywanie kontrolek z danymi w Visual Studio, w szczególności Porady: wyświetlanie powiązanych danych w aplikacji formularzy systemu Windows i Wskazówki: wyświetlanie powiązanych danych na formularzu systemu Windows.

W poniższych przykładach kodu pokazano, nawigacja relacje w zestawach danych wpisywanych w górę i w dół. Ich stosowanie wpisane DataRows (NorthwindDataSet.OrdersRow) i są generowane FindByPrimaryKey (FindByCustomerID) metod, aby zlokalizować żądany wiersz i zwrócić rekordy pokrewne. Przykłady skompilować i uruchomić poprawnie tylko wtedy, gdy:

  • Wystąpienie obiektu dataset o nazwie NorthwindDataSet z Customers tabeli

  • An Orders table

  • Relacja o nazwie FK_Orders_Customers odnoszących się do dwóch tabel dostępne w zakres kodu

Ponadto obie tabele trzeba wypełnić danymi dla dowolnych rekordów, które mają być zwrócone.

Uzyskiwanie dostępu do rekordów pokrewnych

Aby przywrócić rekordów rekord nadrzędny wybranego dziecka

  • Wywołanie GetChildRows metody określonej Customers danych wierszu i zwraca tablicę wierszy z Orders tabeli:

    Dim customerID As String = "ALFKI"
    Dim orders() As NorthwindDataSet.OrdersRow
    
    orders = CType(NorthwindDataSet.Customers.FindByCustomerID(customerID).
        GetChildRows("FK_Orders_Customers"), NorthwindDataSet.OrdersRow())
    
    MessageBox.Show(orders.Length.ToString())
    
    string custID = "ALFKI";
    NorthwindDataSet.OrdersRow[] orders;
    
    orders = (NorthwindDataSet.OrdersRow[])northwindDataSet.Customers.
        FindByCustomerID(custID).GetChildRows("FK_Orders_Customers");
    
    MessageBox.Show(orders.Length.ToString());
    

Aby przywrócić rekord nadrzędny podrzędne wybranego rekordu

  • Wywołanie GetParentRow metody określonej Orders dane wierszy i zwracać jeden wiersz z Customers tabeli:

    Dim orderID As Integer = 10707
    Dim customer As NorthwindDataSet.CustomersRow
    
    customer = CType(NorthwindDataSet.Orders.FindByOrderID(orderID).
        GetParentRow("FK_Orders_Customers"), NorthwindDataSet.CustomersRow)
    
    MessageBox.Show(customer.CompanyName)
    
    int orderID = 10707;
    NorthwindDataSet.CustomersRow customer;
    
    customer = (NorthwindDataSet.CustomersRow)northwindDataSet.Orders.
        FindByOrderID(orderID).GetParentRow("FK_Orders_Customers");
    
    MessageBox.Show(customer.CompanyName); 
    

Zobacz też

Koncepcje

Przygotowywanie aplikacji na otrzymywanie danych

Pobieranie danych do aplikacji

Powiązywanie kontrolek z danymi w Visual Studio

Edytowanie danych w aplikacji

Sprawdzanie poprawności danych

Zapisywanie danych

Inne zasoby

Relacje w zestawach danych

Przegląd aplikacji w Visual Studio

Łączenie z danymi w Visual Studio