问个关于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发生变化,执行出错了,我明明记得不提交是不删除数据的,好奇怪