我的设置很简单
adapter.Fill(table);
现在这很好用,但是从今天起,在某些情况下我会收到此错误。
并发冲突:UpdateCommand影响了预期的1中的0 记录。
我可以通过以下方式重现它
adapter.Update(Table);
adapter.Update(Table);
现在发生错误。
我已经捕获了使用探查器发送到Sql Server的实际语句,该语句是这样的:
exec sp_executesql
N'UPDATE [tblDamageRegion] SET [Remarks] = @Remarks WHERE (([DamageRegionID] = @Original_DamageRegionID))',
N'@Remarks nvarchar(1),@Original_DamageRegionID int',
@Remarks=N'1',@Original_DamageRegionID=NULL
如您所见,变量@Original_DamageRegionID
为NULL
这将导致没有行被更新,因此出现上面的错误。
我的问题是,适配器怎么可能不填充此变量?
我在每次table.AcceptChanges();
之后尝试了adapter.Update(Table);
,但没有帮助
我在BindingSource.EndEdit();
之前尝试过adapter.Update(Table);
,但没有帮助