2010-09-28 7 views
3

J'ai un jeu de données qui est rempli à partir d'un proc stocké dans le serveur SQL. J'ai une colonne qui a laissé dire a un ensemble de valeurs. Je ne sais pas quelles sont ces valeurs. Tout ce que je sais c'est qu'ils sont du type "string". Je veux extraire toutes les valeurs distinctes de cette colonne.extrait des données d'un ensemble de données

Répondre

2

Vous pouvez utiliser un DataView et définir sa RowFilter à la condition souhaitée:

var view = new DataView(dataset.Tables["Table"]); 
view.RowFilter = "Column = 42"; 

MISE À JOUR: en fonction de votre question mise à jour, vous pouvez utiliser LINQ:

var table = dataset.Tables["Table"].AsEnumerable(); 
var distinctValuesForColumn = 
    table.Select(row => (string)row["Column"]).Distinct(); 
+0

Je suis désolé. Je dois reformuler ma question. Ma faute. J'ai une colonne qui a laissé dire un ensemble de valeur. Je ne sais pas quelles sont ces valeurs. Tout ce que je sais c'est qu'ils sont du type string. Je veux extraire toute la valeur distincte de cette colonne. J'espère que c'est clair maintenant. – zack

+1

Veuillez mettre à jour la question elle-même au lieu de donner ce type d'information dans un commentaire. –

+0

Merci pour l'idée Jordao. Cependant cela me jette une erreur. Il ne reconnaît pas le Distinct(). Dois-je changer le type de variable de var à quelque chose pour que cela fonctionne? – zack

0

Vous pouvez simplement utiliser Sélectionner la méthode de la DataTable:

DataRow[] extractedRows = 
    yourDataSet.Tables["YourTableName"].Select("YourColumnName = 123"); 
+0

Je suis désolé. Je dois reformuler ma question. Ma faute. J'ai une colonne qui a laissé dire un ensemble de valeur. Je ne sais pas quelles sont ces valeurs. Tout ce que je sais c'est qu'ils sont du type string. Je veux extraire toute la valeur distincte de cette colonne. J'espère que c'est clair maintenant. – zack

0

J'espère que ci-dessous déclaration servira votre but

ds.Tables["TableName"].DefaultView.ToTable(true, "columnName"); //For Dataset (true means distinct) 

OU

`ds.Tables[0].DefaultView.ToTable(true, "columnName"); 

// Pour Dataset où tableindex est 0

OU

dt.DefaultView.ToTable(true, "columnName"); //For Datatable 

//Syntax is like Datatable.DefaultView.ToTable(Distinct true/false, “ColumnName”); 

MSDN: http://msdn.microsoft.com/en-us/library/wec2b2e6.aspx

Questions connexes