ado.net 删除行并更新到数据源
ado.net remove rows and update to datasource
我使用 DataTable.Rows.Remove
删除了一些行,并使用 DataAdapter.Update
将此 table 更新为数据源,但它不起作用:
代码:
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中"row states"的概念。 DataRow.Delete 会将行状态设置为已删除。
相关信息:https://msdn.microsoft.com/en-us/library/03c7a3zb(v=vs.110).aspx
我使用 DataTable.Rows.Remove
删除了一些行,并使用 DataAdapter.Update
将此 table 更新为数据源,但它不起作用:
代码:
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中"row states"的概念。 DataRow.Delete 会将行状态设置为已删除。
相关信息:https://msdn.microsoft.com/en-us/library/03c7a3zb(v=vs.110).aspx