SQL 数据适配器的 RowUpdating 事件的目的是什么?根据文档,它不能用于“拦截”更新过程并阻止执行更新命令:
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldataadapter.rowupdating.aspx
该命令在任何情况下都会执行。由于此事件不太适合客户端数据验证,那么该事件的良好(最佳实践)用途是什么?
SQL 数据适配器的 RowUpdating 事件的目的是什么?根据文档,它不能用于“拦截”更新过程并阻止执行更新命令:
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldataadapter.rowupdating.aspx
该命令在任何情况下都会执行。由于此事件不太适合客户端数据验证,那么该事件的良好(最佳实践)用途是什么?
来自MSDN:
您可以使用 RowUpdating 在更新行为发生之前对其进行修改,在更新发生时提供额外的处理,保留对更新行的引用,取消当前更新并将其安排为稍后处理的批处理,等等上。RowUpdated 可用于响应更新期间发生的错误和异常。您可以将错误信息添加到 DataSet,以及重试逻辑等。
例如,要取消当前行的更新,您可以使用SqlRowUpdatingEventArgs
参数:
private void DaRowUpdating(Object sender, SqlRowUpdatingEventArgs e) {
e.Status = UpdateStatus.SkipCurrentRow;
e.Row.RejectChanges();
}