C#删除DataTable中的行

时间:2011-02-22 19:32:33

标签: c# ms-access datatable

我使用以下代码删除DataTable中的行:

if (x == "y" || x == "yes")           
{             
    dt.Rows.RemoveAt(id);  
}

如何在MS Access中保存更改(删除行)? 我有这样的代码,但这不起作用

OleDbCommand delCmd = new OleDbCommand("DELETE FROM PERSONA WHERE ID=?",con1);
delCmd.Parameters.Add(new OleDbParameter("@ID",OleDbType.Integer, @ID));

foreach (DataRow dro in dt.GetChanges().Rows)           
{
   if (dro.RowState == DataRowState.Deleted)                                                   
   {    
      con1.Open();    
      delCmd.ExecuteNonQuery();    
      con1.Close();
   }    
}

2 个答案:

答案 0 :(得分:0)

您没有指定正确的ID。您需要将参数添加到循环中的命令中。

答案 1 :(得分:0)

使用Delete方法删除行。这将标记在表适配器上使用Update时要删除的行。您只是从集合中删除行;不是来自数据库。