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
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