1

SQL 数据适配器的 RowUpdating 事件的目的是什么?根据文档,它不能用于“拦截”更新过程并阻止执行更新命令:

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldataadapter.rowupdating.aspx

该命令在任何情况下都会执行。由于此事件不太适合客户端数据验证,那么该事件的良好(最佳实践)用途是什么?

4

1 回答 1

0

来自MSDN

您可以使用 RowUpdating 在更新行为发生之前对其进行修改,在更新发生时提供额外的处理,保留对更新行的引用,取消当前更新并将其安排为稍后处理的批处理,等等上。RowUpdated 可用于响应更新期间发生的错误和异常。您可以将错误信息添加到 DataSet,以及重试逻辑等。

例如,要取消当前行的更新,您可以使用SqlRowUpdatingEventArgs参数:

private void DaRowUpdating(Object sender, SqlRowUpdatingEventArgs e) {
    e.Status = UpdateStatus.SkipCurrentRow;
    e.Row.RejectChanges();
}
于 2012-03-19T14:53:23.237 回答