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

DataTable 使用 delete() 循环删除行的有关问题

2012-04-10 
DataTable 使用 delete() 循环删除行的问题DT 是表 有id 列C# codestring[] id new string[] { 11, 1

DataTable 使用 delete() 循环删除行的问题
DT 是表 有id 列

C# code
                string[] id = new string[] { "11", "13" };                for (int i = 0; i < DT.Rows.Count; i++)                {                    for (int j = 0; j < id.Length; j++)                    {                        if (DT.Rows[i]["id"].ToString() == id[j])                        {                            DT.Rows[i].Delete();  // 不要使用 Remove(DT.Rows[i])                        }                    }                }               //这里也不许+  DT.AcceptChanges() 因为还要提交


  以下是:异常

  未处理 System.Data.DeletedRowInaccessibleException
  Message="不能通过已删除的行访问该行的信息。"
  Source="System.Data"
  




[解决办法]
int iDtRowsCount; 
string[] id = new string[] { "11", "13" };
 for (int j = 0; j < id.Length; j++)
 {
iDtRowsCount = DT.Rows.Count;
for (int i = 0; i < iDtRowsCount ; i++)
{

if (DT.Rows[i]["id"].ToString() == id[j])
{
DT.Rows[i].Delete(); // 不要使用 Remove(DT.Rows[i])
break;
}
}
}
//这里也不许+ DT.AcceptChanges() 因为还要提交

热点排行