首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

问个关于datatable的rows.delete有关问题

2013-07-04 
问个关于datatable的rows.delete问题我记得rows.delete只是记下删除标志,实际上未删除行的,需要用AcceptCh

问个关于datatable的rows.delete问题
我记得rows.delete只是记下删除标志,实际上未删除行的,需要用AcceptChanges提交才会删除datatable中的数据,但我刚才试了一下没有用AcceptChanges提交就直接删除了,是我记忆有错误吗?
我的代码是这样的
                for (i = 0; i < dt_trans.Rows.Count; i++) {
                    ksdm = dt_trans.Rows[i]["trans_ctloc_dr"].ToString();
                    llzdm = dt_trans.Rows[i]["llzdm"].ToString();
                    if (llzdm == "")
                    {

                    }
                    else {
                        if (llzdm.Substring(0, 3) == ksdm)
                        {

                        }
                        else {
                            dt_trans.Rows[i].Delete();
                        }
                        
                    }
                }
                dt_trans.AcceptChanges();
for循环里Rows[i].Delete()直接就删掉数据了,导致后面的dt_trans.Rows.Count发生变化,执行出错了,我明明记得不提交是不删除数据的,好奇怪

分享到:
[解决办法]
如果你在创建datatable时没有执行AcceptChanges这个方法,那么在delete时,不会标记,会直接删除掉。

热点排行