C# 数据表行删除中出错
我有一个数据表,比如说DT有11行,我尝试使用C# 数据表行删除中出错,c#,asp.net,visual-studio-2008,C#,Asp.net,Visual Studio 2008,我有一个数据表,比如说DT有11行,我尝试使用 string DeptID ="3"; string s = "id='" + DeptID + "'"; rows = DT.Select(s); foreach (DataRow r in rows) r.Delete(); 我有5行id=3,但删除后datatable中的行数没有改变,每个字段中都出现了一些红色符号删除行的列。有人知道为什么会发生这种情况吗 每当我尝试使用 for(int i=0;i<dt1.Rows.Cou
string DeptID ="3";
string s = "id='" + DeptID + "'";
rows = DT.Select(s);
foreach (DataRow r in rows)
r.Delete();
我有5行id=3,但删除后datatable中的行数没有改变,每个字段中都出现了一些红色符号删除行的列。有人知道为什么会发生这种情况吗
每当我尝试使用
for(int i=0;i<dt1.Rows.Count;i++)
{
if (dt1.Rows[i][0].ToString() == "")
{
}
}
它显示错误“已删除的行无法执行”您将该行标记为删除,这就是为什么会出现红色符号。行。删除仅将行状态更改为已删除。当您通过AcceptChanges方法接受然后更改时,将发生实际删除 有关更多信息,请访问以下msdn链接: http://msdn.microsoft.com/en-us/library/system.data.datarow.delete.aspx
删除行后,请对datatable进行更改,以便与新数据同步
dt.AcceptChanges();
//And u can also add a condition,while fetching the data,
foreach (DataRow dr in rows)
{ if(dr.RowState!=DataRowState.Deleted ||dr.RowState!=DataRowState.Detached)
{
}
}