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

Überprüfen von Daten

Speichern von Daten

Weitere Ressourcen

Beziehungen in Datasets

Übersicht über Datenanwendungen in Visual Studio

Herstellen von Datenverbindungen in Visual Studio