Gewusst wie: Zugreifen auf Datensätze in verknüpften DataTables
Wenn Tabellen in einem DataSet verknüpft sind, kann ein DataRelation-Objekt die verknüpften Datensätze in einer anderen Tabelle verfügbar machen. Beispielsweise kann ein Dataset mit einer Customers-Tabelle und einer Orders-Tabelle verfügbar gemacht werden.
Mit einem DataRelation-Objekt können verknüpfte Datensätze gesucht werden, indem die GetChildRows-Methode einer DataRow in der übergeordneten Tabelle aufgerufen wird. Diese Methode gibt ein Array von verknüpften untergeordneten Datensätzen zurück. Sie können auch die GetParentRow-Methode einer DataRow in der untergeordneten Tabelle aufrufen. Diese Methode gibt eine einzelne DataRow aus der übergeordneten Tabelle zurück.
Diese Hilfeseite enthält Beispiele für die Verwendung typisierter Datasets. Informationen zum Navigieren in Beziehungen nicht typisierter DataSets finden Sie unter Navigieren in 'DataRelations'.
Hinweis
Wenn Sie in einer Windows Forms-Anwendung arbeiten und zum Anzeigen von Daten die Datenbindungsfeatures verwenden, stellt das vom Designer generierte Formular möglicherweise ausreichende Funktionen für die Anwendung bereit.Weitere Informationen finden Sie unter Binden von Steuerelementen an Daten in Visual Studio, insbesondere unter Gewusst wie: Anzeigen von verknüpften Daten in einer Windows Forms-Anwendung und Exemplarische Vorgehensweise: Anzeigen verknüpfter Daten in einem Windows Form.
Die folgenden Codebeispiele veranschaulichen die Aufwärts- und Abwärtsnavigation zwischen Beziehungen in typisierten Datasets. Darin werden typisierte DataRow (NorthwindDataSet.OrdersRow) und die generierten FindByPrimaryKey (FindByCustomerID)-Methoden verwendet, um eine gewünschte Zeile zu suchen und die verknüpften Datensätze zurückzugeben. Die Beispiele können nur fehlerfrei kompiliert und ausgeführt werden, wenn Folgendes vorhanden ist:
Die NorthwindDataSet-Instanz des Datasets mit einer Customers-Tabelle
Eine Orders-Tabelle
Die Beziehung FK_Orders_Customers, die die beiden verfügbaren Tabellen mit dem Bereich des Codes verknüpft
Außerdem müssen die beiden Tabellen mit Daten gefüllt sein, damit Datensätze zurückgegeben werden können.
Zugreifen auf verknüpfte Datensätze
So geben Sie die untergeordneten Datensätze eines ausgewählten übergeordneten Datensatzes zurück
Rufen Sie die GetChildRows-Methode einer bestimmten Customers-Datenzeile auf, und geben Sie ein Array von Zeilen aus der Orders-Tabelle zurück:
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());
So geben Sie den übergeordneten Datensatz eines ausgewählten untergeordneten Datensatzes zurück
Rufen Sie die GetParentRow-Methode einer bestimmten Orders-Datenzeile auf, und geben Sie eine einzelne Zeile aus der Customers-Tabelle zurück:
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);
Siehe auch
Konzepte
Vorbereiten der Anwendung auf den Empfang von Daten
Abrufen von Daten für die Anwendung
Binden von Steuerelementen an Daten in Visual Studio
Bearbeiten von Daten in der Anwendung