检查数据表中的值

本文关键字:数据表 检查 | 更新日期: 2023-09-27 18:37:02

我有一个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 表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;
       }

问候

检查数据表中的值

根据您的澄清,如果从第一个表中的第二个表中找到匹配项,则要停止。

然后,当您的选择找到与条件匹配的一个或多个行时,您需要添加 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# 参考

break 语句终止最近的封闭环路或开关 它出现的语句。控制权传递给语句 跟在终止的语句后面(如果有)。