[英]Remove a DataRow from a DataTable in c#
我有一个名为EventDBDataSet
的数据EventDBDataSet
,其中有一个名为Contacts
的数据表。 我正在尝试从 DataTable 中删除一行,但它不起作用,也没有抛出任何错误。 我为此尝试了一些 Stack Overflow 解决方案,但没有一个对我有用。 按照从 DataTable 中删除行的代码
public void deleteContact(Int16 contactId)
{
EventDBDataSet eventDBDataSet = new EventDBDataSet();
EventDBDataSetTableAdapters.ContactsTableAdapter contactsTableAdapter =
new EventDBDataSetTableAdapters.ContactsTableAdapter();
contactsTableAdapter.Fill(eventDBDataSet.Contacts);
EventDBDataSet.ContactsRow contactsRow = eventDBDataSet.Contacts.FindBycontactId(contactId);
eventDBDataSet.Contacts.RemoveContactsRow(contactsRow);
eventDBDataSet.Contacts.AcceptChanges();
contactsTableAdapter.Update(eventDBDataSet.Contacts);
}
我在这里缺少什么?
如果您从集合中删除一个项目,则该集合已更改,您无法继续枚举它。
相反,使用 For 循环,例如:
public void RemoveRow()
{
DataTable dt = new DataTable();
foreach (var row in dt.Select())
{
if (row["ID"].ToString().Equals("NAME"))
{
dt.Rows.Remove(row);
dt.AcceptChanges();
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.