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
Sprawdzanie poprawności danych