繁体   English   中英

从 C# 中的 DataTable 中删除 DataRow

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM