Comment : trouver une ligne spécifique dans un DataTable
Mise à jour : novembre 2007
La plupart des applications qui utilisent des données ont besoin d'accéder à des enregistrements particuliers répondant à certains critères. Pour rechercher une ligne particulière dans un groupe de données, vous pouvez appeler la méthode Find de l'objet DataRowCollection. Si la clé primaire existe, un objet DataRow est retourné. Si elle est introuvable, une valeur null est retournée.
Recherche d'une ligne avec une valeur de clé primaire
Pour rechercher une ligne dans un groupe de données typé avec une valeur de clé primaire
Appelez la méthode FindBy fortement typée qui utilise la clé primaire de la table pour rechercher une ligne.
Dans l'exemple suivant, la colonne CustomerID est la clé primaire de la table Customers. Par conséquent, la méthode FindBy générée est FindByCustomerID. Cet exemple illustre l'assignation d'un DataRow spécifique à une variable à l'aide de la méthode FindBy générée.
Dim customersRow As NorthwindDataSet.CustomersRow customersRow = NorthwindDataSet1.Customers.FindByCustomerID("ALFKI")
NorthwindDataSet.CustomersRow customersRow = northwindDataSet1.Customers.FindByCustomerID("ALFKI");
Pour rechercher une ligne dans un groupe de données non typé avec une valeur de clé primaire
Appelez la méthode Find d'une collection DataRowCollection, en passant la clé primaire en tant que paramètre.
L'exemple suivant montre comment déclarer une nouvelle ligne appelée foundRow et lui assigne la valeur de retour de la méthode Find. Si la clé primaire est trouvée, le contenu de l'index de colonne 1 s'affiche dans un message.
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"); }
Recherche de lignes par valeurs de colonne
Pour rechercher des lignes selon les valeurs contenues dans chaque colonne
Des tables de données sont créées avec une méthode Select retournant un tableau de DataRow qui se base sur l'expression passée à la méthode Select. Pour plus d'informations sur la création d'expressions valides, consultez la section « Syntaxe d'expression » de la rubrique correspondant à la propriété Expression.
L'exemple suivant illustre l'utilisation de la méthode Select de DataTable pour rechercher des lignes spécifiques.
Dim foundRows() As Data.DataRow foundRows = DataSet1.Tables("Customers").Select("CompanyName Like 'A%'")
DataRow[] foundRows; foundRows = dataSet1.Tables["Customers"].Select("CompanyName Like 'A%'");
Voir aussi
Référence
Autres ressources
Modification des données dans votre application
Connexion aux données dans Visual Studio
Préparation de votre application pour recevoir des données
Extraction de données dans votre application
Affichage des données sur des formulaires dans les applications Windows