【发布时间】:2012-10-09 20:29:35
【问题描述】:
在我的项目中有两个数据集dsNames 和dsDetails。
我不知道 SQL。这里我连接到 XML 和文本文件。
dtNames
EmployeeName EmployeeRole
a 2
b 3
c 4
dtDetails
Empid EmployeeName EmpCity EmployeeRole
101 a abc 3 //EmpRole not equal to above table EmpRole
102 b abc 3
103 c xyz 4
104 d pqr 5
105 e rst 6
我想根据EmployeeName 和EmployeeRole 关联这两个数据集(这里与dsNames 进行比较)并将结果存储在另一个DataSet dsMain(来自dsDetails 的表)中,然后将两者相除数据集根据matchedDataTable和unmatchedDataTable等比较。
我知道这可以使用DataRelation 或RowFilter 来完成,但我不知道该怎么做,因为有两列要与我不知道的其他数据表两列进行比较。(我是初学者.net)
我尝试了以下代码:(不工作)
foreach (DataRow rwMain in dsNames.Tables[0].Rows)
{
foreach (DataRow rwSub in dsDetails.Tables[0].Rows)
{
if (rwMain["EmployeeName"].Equals(rwSub["EmployeeName"]))
{
if (rwMain["EmployeeRole"].Equals(rwSub["EmployeeRole"]))
{
// Matched DataTable
}
else
{
//Unmatched DataTable
}
}
}
}
我在上面的代码中做错了,而且看起来我没有以正确的方式做。
请不要使用 linq,因为我知道但我不能在我的项目中使用它。
请帮忙。
【问题讨论】:
-
我知道 linq,但我的项目是严格的非 linq
-
数据集中有rowfilter、select、datarelation等方法。但我对他们很陌生。所以我不知道如何关联和显示这两个数据表关系。