我使用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);
}
}发布于 2016-09-19 13:49:22
听起来你想要DataRow.Delete。关键是要理解ADO.NET中“行状态”的概念,DataRow.Delete会将行状态设置为已删除。
相关信息:https://msdn.microsoft.com/en-us/library/03c7a3zb(v=vs.110).aspx
https://stackoverflow.com/questions/39564128
复制相似问题