C# dataset中的两个table间如何实现A表的条件不满足B表实现A表的某字段内容批量更改
sql语句差不多就是updateasetm="否"wherea.namenotin(selectnamefromb)那在dataset如何写代码...
sql语句 差不多就是 update a set m="否" where a.name not in(select name from b)
那在dataset如何写代码 展开
那在dataset如何写代码 展开
1个回答
推荐于2016-04-19
展开全部
//方法一:
DataSet a = new DataSet();
DataSet b = new DataSet();
foreach (DataRow l_dr in a.Tables[0].Rows)
{
if (b.Tables[0].Select(" name = '" + l_dr["name"] + "' ").Length = 0)
l_dr["name"] = "否";
}
//方法二 当然如果是数据集用Linq 也可以 比较麻烦
//方法三 用HashSet集合 这个性能比较高 用Select 数据量超过1000就会卡
DataSet a = new DataSet();
DataSet b = new DataSet();
HashSet<string> l_hash = new HashSet<string>();
foreach (DataRow l_dr in b.Tables[0].Rows)
{
l_hash.Add(l_dr["name"].ToString());
}
foreach (DataRow l_dr in a.Tables[0].Rows)
{
if (l_hash.Contains(l_dr["name"].ToString()))
continue;
l_dr["name"] = "否";
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询