C#删除数据表中的行

C#删除数据表中的行,c#,ms-access,datatable,C#,Ms Access,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 OleD

我使用以下代码删除数据表中的行:

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();
   }    
}

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

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

RemoveAt逐行删除索引,而不是idok,但当我使用delete方法删除行时,我无法查看这些行,因为C#给了我一个错误,无法查看删除的行,smth这样,如何处理?如何查看已删除的行?创建数据视图并应用筛选以查看将被删除的行。请参阅本文: