如何删除两个数据表中的许多重复行
本文关键字:数据表 许多重 何删除 删除 两个 | 更新日期: 2023-09-27 18:34:54
I using C#.我有 2 个数据表dtUser, dtUserNotAllow
.
我想检查dtUser
中的所有行是否包含在数据表dtUserNotAllow
中?如果有,请将其删除。
喜欢这个。
dtUser: user1 user2 user8
dtUserNotAllow: user2
.
这将删除用户 2。
=> dtUser: user1 user8
foreach(DataRow rows in dtUserNotAllow)
{
if(dtUser.Columns.Contains(rows["user_name"].ToString()))
{
}
}
但显示错误如下:
foreach statement cannot operate on variables of type 'System.Data.DataTable' because 'System.Data.DataTable' does not contain a public definition for 'GetEnumerator'
你必须替换
foreach(DataRow rows in dtUserNotAllow)
跟
foreach (DataRow row in dtUserNotAllow.Rows)
若要删除无效行,代码应如下所示
List<String> lUserNotAllow = dtUserNotAllow.AsEnumerable().Select(x => (string)x["user_name"]).ToList();
foreach (DataRow row in dtUser.Rows)
{
if(dtUserNotAllow.AsEnumerable().Any(x => row["user_name"] == x["user_name"]))
{
dtUser.Rows.Remove(row);
}
}
循环访问DataTable
的行