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如何写代码
展开
 我来答
匿名用户
推荐于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"] = "否";
            }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式