从数据集中提取数据

时间:2010-09-28 18:03:26

标签: c# sql sql-server dataset

我有一个数据集,它从sql server中的存储过程中填充。我有一个列让我们说有一组值。我不知道那些价值观是什么。我所知道的是他们的“字符串”类型。我想从该列中提取所有不同的值。

4 个答案:

答案 0 :(得分:2)

您可以使用DataView并将其RowFilter设置为所需条件:

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

更新:根据您更新的问题,您可以使用LINQ:

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

答案 1 :(得分:0)

您只需使用DataTable的Select方法:

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

答案 2 :(得分:0)

您也可以使用Linq查询数据表。以下是MS网站上某些示例的链接 - http://msdn.microsoft.com/en-us/vbasic/bb688086.aspx

答案 3 :(得分:0)

我希望以下声明能满足您的目的

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

OR

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

//对于tableindex为0的数据集

OR

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