Gewusst wie: Suchen einer bestimmten Zeile in einer DataTable

Aktualisiert: November 2007

Die meisten Anwendungen, die Daten aus einem Repository nutzen, müssen auf spezifische Datensätze zugreifen, die bestimmte Kriterien erfüllen. Um eine bestimmte Zeile in einem Dataset zu suchen, rufen Sie die Find-Methode des DataRowCollection-Objekts auf. Falls der Primärschlüssel vorhanden ist, wird ein DataRow-Objekt zurückgegeben. Wird der Primärschlüssel nicht gefunden, wird ein NULL-Wert zurückgegeben.

Suchen einer Zeile mit einem Primärschlüsselwert

So suchen Sie mit einem Primärschlüsselwert in einem typisierten Dataset nach einer Zeile

  • Rufen Sie die stark typisierte FindBy-Methode auf, die unter Verwendung des Primärschlüssels der Tabelle nach Zeilen sucht.

    Im folgenden Beispiel bildet die Spalte CustomerID den Primärschlüssel der Tabelle Customers, und daher heißt die generierte FindBy-Methode FindByCustomerID. Dieses Beispiel veranschaulicht, wie mithilfe der generierten FindBy-Methode einer Variablen ein bestimmtes DataRow-Objekt zugewiesen wird.

    Dim customersRow As NorthwindDataSet.CustomersRow
    customersRow = NorthwindDataSet1.Customers.FindByCustomerID("ALFKI")
    
    NorthwindDataSet.CustomersRow customersRow = 
        northwindDataSet1.Customers.FindByCustomerID("ALFKI");
    

So suchen Sie mit einem Primärschlüsselwert in einem nicht typisierten Dataset nach einer Zeile

  • Rufen Sie die Find-Methode einer DataRowCollection-Auflistung auf, wobei Sie den Primärschlüssel als Parameter übergeben.

    Im folgenden Beispiel wird veranschaulicht, wie Sie die neue Zeile foundRow deklarieren und ihr den Rückgabewert der Find-Methode zuweisen. Wenn der Primärschlüssel gefunden wird, wird der Inhalt von Spaltenindex 1 in einem Meldungsfeld angezeigt.

    Dim s As String = "primaryKeyValue"
    Dim foundRow As DataRow = DataSet1.Tables("AnyTable").Rows.Find(s)
    
    If foundRow IsNot Nothing Then
        MsgBox(foundRow(1).ToString())
    Else
        MsgBox("A row with the primary key of " & s & " could not be found")
    End If
    
    string s = "primaryKeyValue";
    DataRow foundRow = dataSet1.Tables["AnyTable"].Rows.Find(s);
    
    if (foundRow != null) 
    {
        MessageBox.Show(foundRow[1].ToString());
    }
    else
    {
        MessageBox.Show("A row with the primary key of " + s + " could not be found");
    }
    

Suchen von Zeilen nach Spaltenwerten

So suchen Sie anhand der Werte einer beliebigen Spalte nach Zeilen

  • Datentabellen werden mit einer Select-Methode erstellt, die basierend auf dem an die Select-Methode übergebenen Ausdruck ein Array von DataRow-Objekten zurückgibt. Weitere Informationen zum Erstellen gültiger Ausdrücke finden Sie im Abschnitt "Syntax von Ausdrücken" auf der Seite zur Expression-Eigenschaft.

    Im folgenden Beispiel wird veranschaulicht, wie mithilfe der Select-Methode des DataTable-Objekts nach bestimmten Zeilen gesucht wird.

    Dim foundRows() As Data.DataRow
    foundRows = DataSet1.Tables("Customers").Select("CompanyName Like 'A%'")
    
    DataRow[] foundRows;
    foundRows = dataSet1.Tables["Customers"].Select("CompanyName Like 'A%'");
    

Siehe auch

Referenz

Find

Select

Weitere Ressourcen

Bearbeiten von Daten in der Anwendung

Herstellen von Datenverbindungen in Visual Studio

Vorbereiten der Anwendung auf den Empfang von Daten

Abrufen von Daten für die Anwendung

Anzeigen von Daten in Formularen in Windows-Anwendungen

Bearbeiten von Daten in der Anwendung

Überprüfen von Daten

Speichern von Daten