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