2009-04-06 14 views
1

J'ai besoin de trouver des enregistrements dans un ensemble de données qui ont certaines valeurs de plus de 1 colonne. Je ne peux pas utiliser la méthode Find ou Contains car ils nécessitent une clé primaire et mes valeurs de recherche peuvent être non uniques. Est-ce que les DataSets ont des index (un peu comme une table SQL) que je peux utiliser pour accélérer ma recherche? En ce moment je suis en boucle à travers le dataSet faire des comparaisons pour chaque colonne, mais cette méthode est très très lent (mon ensemble de données a 600k lignes).C# DataSet Index

Merci

Répondre

2

Vous pouvez utiliser la méthode DataTable Sélectionnez qui vous permet de rechercher selon un critère de recherche

DataRow[] myRows = ds.Tables[0].Select("intCol=0 OR stringCol='yourSearch'"); 
+1

La commande select fonctionne mais il est trop lent pour mon DataSet, donc au lieu que j'utilisé une vue de données (la valeur par défaut). Si vous effectuez un tri sur les colonnes que vous recherchez, la requête prend une fraction du temps comme avec la méthode Select. – Dat

+0

belle astuce, je vais le garder en compte, tx –