检查数据表的数据行是否包含在另一个数据表中
本文关键字:数据表 另一个 包含 数据 检查 是否 | 更新日期: 2023-09-27 18:29:17
我有一个数据集DS,它包含一个数据表,数据表有几个数据行。
我有另一个数据集DS1,它包含一个数据表,数据表有一个数据行。
我想检查DS是否包含DS1 中的行
DataRow的格式如下:
Id Description
目前我正在做以下工作:
if (!(ds.Tables[0].Rows.Contains(ds1.Tables[0].Rows[0])))
它抛出一个错误,如:
.Data.MissingPrimaryKeyException: Table doesn't have a primary key.
还有别的办法吗?
例如
数据集DS包含一个数据表:
1 ABC
2 DEF
3 GHI
数据集DS1包含一个数据表:
1 ABC
我想看看DS1数据表中的行是否包含在DS 中数据表的行中
实现此目标的简单方法是:
DataRow[]foundRows=ds.Tables[0]。Select("ID="+ds1.Tables[0]。Rows[0]["ID"].ToString());
请注意,只有ID字段用于查找匹配的行。
你试过这样的东西吗:
bool CompareDataSets(DataSet ds1, DataSet ds2)
{
foreach (var dr in ds1.Tables[0].Rows)
{
if (ds2.Tables[0].Rows[0].Equals(dr)) return true;
}
return false;
}
我不确定它是否会起作用,只是想帮忙。