如何查询DataSet并遍历结果?

时间:2009-07-16 00:23:09

标签: c# .net

我有一个DataSet,它包含两个表,Publication和Owner,它们在Publication ID上链接。如何查询数据集?我想要做的是获取特定出版物的所有所有者,然后我想迭代结果集,将所有者名称连接在一起并用信息填充标签......

但是让我们开始,我如何查询数据集?

我还有一个DataRelation,我可以以某种方式查询以获取当前行的子行吗?

感谢。

2 个答案:

答案 0 :(得分:6)

ADO.NET支持两种执行数据集过滤和排序的基本方法:

DataTable Select方法 - 重载此方法以接受参数,以过滤和排序返回DataRow对象数组的数据行。

DataView对象排序,过滤和查找方法 - 此对象使用Select方法支持的相同过滤器参数,但DataView公开可绑定到数据感知控件的结构。见DataView.RowFilter

迭代过滤后的行非常简单:

DataTable dt;
...
foreach (DataRow dr in dt.Select(filter))
{
    // ...
}

本文包含几个示例:A Practical Guide to .NET DataTables, DataSets and DataGrids - Part 1

答案 1 :(得分:3)

您可以查看LINQ to Dataset,它允许您对具有多个表的DataSet执行查询。您可以在适当的列之间执行表之间的连接。