删除行并更新到数据源

本文关键字:数据源 更新 删除行 | 更新日期: 2023-09-27 18:07:25

我使用DataTable.Rows.Remove删除一些行,并使用DataAdapter.Update更新此表到数据源,但它不起作用:

代码:

public void Delete(T[] values)
    {
        foreach (var val in values)
        {
            var row = m_Dict[val];
            m_Table.Rows.Remove(row);
            m_Elements.Remove(val);
            m_Dict.Remove(val);
        }
    }
public void Apply(SqlDataAdapter adapter)
    {
        using (new SqlCommandBuilder(adapter))
        {
            adapter.UpdateBatchSize = 5;
            adapter.Update(m_Table);
        }
    }

删除行并更新到数据源

听起来你想要DataRow.Delete。关键是理解ADO.NET中的"行状态"概念。我们应该。Delete将行状态设置为Deleted。

相关信息:https://msdn.microsoft.com/en-us/library/03c7a3zb(v=vs.110).aspx