我有一个DataSet,它包含两个表,Publication和Owner,它们在Publication ID上链接。如何查询数据集?我想要做的是获取特定出版物的所有所有者,然后我想迭代结果集,将所有者名称连接在一起并用信息填充标签......
但是让我们开始,我如何查询数据集?
我还有一个DataRelation,我可以以某种方式查询以获取当前行的子行吗?
感谢。
答案 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执行查询。您可以在适当的列之间执行表之间的连接。