检查数据表中的值
本文关键字:数据表 检查 | 更新日期: 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 语句终止最近的封闭环路或开关 它出现的语句。控制权传递给语句 跟在终止的语句后面(如果有)。