检查数据表中的值

Check values in DataTable

我有一个DataTable dtOne,记录如下:

ColumnA ColumnB ColumnC
1001    W101    ARCH
1001    W102    ARCH
1002    W103    CUSS
1003    W104    ARCH

还有一个 DataTable dtTwo,其值为:

ColumnA
ARCH
CUSS

我需要检查dtOne中是否存在dtTwo的值,如果没有就写在网页上。

我写了下面的代码,但它不能正常工作。我需要检查一下,如果 dtOne 中存在来自 dtTwo table 的 ARCH,请不要进一步检查,只需将其写入网页即可。

for (int counter = 0; counter < dtTwo.Rows.Count; counter++)
   {
    var contains=dtOne.Select("ColumnC= '" + dtTwo.Rows[counter][0].ToString() + "'");
    if (contains.Length == 0)
      {
       Response.Write("CostCode "+dtTwo.Rows[counter][0].ToString()+" not present in the Excel");
      }
   }

请专家帮忙

编辑: 当我编写以下代码时,我的功能实现了,但收到警告,指出在计数器变量处检测到无法访问的代码。

我认为不正确。

for (int counter = 0; counter < dtTwo.Rows.Count; counter++)
       {
        var contains=dtOne.Select("ColumnC= '" + dtTwo.Rows[counter][0].ToString() + "'");
        if (contains.Length == 0)
          {
           Response.Write("CostCode "+dtTwo.Rows[counter][0].ToString()+" not present in the Excel");
          }
          break;
       }

此致

根据您的说明,如果您在第一个 table 中找到第二个 table 的匹配项,您想停止。

那么当你的Select找到一个或多个符合条件

的行时,你需要添加break语句
for (int counter = 0; counter < dtTwo.Rows.Count; counter++)
{
    var contains=dtOne.Select("ColumnC= '" + dtTwo.Rows[counter][0].ToString() + "'");
    if (contains.Length != 0)
    {
       Response.Write("CostCode "+dtTwo.Rows[counter][0].ToString()+" not present in the Excel");
       break;
    }
}

来自 C# 参考资料

The break statement terminates the closest enclosing loop or switch statement in which it appears. Control is passed to the statement that follows the terminated statement, if any.