千家信息网

怎么用ADO.NET RowUpdated添加删除事件处理程序

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要讲解了"怎么用ADO.NET RowUpdated添加删除事件处理程序",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么用ADO.NET
千家信息网最后更新 2026年11月01日怎么用ADO.NET RowUpdated添加删除事件处理程序

这篇文章主要讲解了"怎么用ADO.NET RowUpdated添加删除事件处理程序",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么用ADO.NET RowUpdated添加删除事件处理程序"吧!

在数据源中处理对 DataSet 中某行的任何更新之前,将引发了RowUpdated。在数据源中处理对 DataSet 中某行的任何更新之后,将引发 RowUpdated。

因此,可以使用 RowUpdating 执行下列操作:在更新行为发生之前对其进行修改,在更新将发生时提供附加处理,保留对已更新行的引用,取消当前更新并将其安排在以后进行批处理,等等。RowUpdated 对于响应更新期间发生的错误和异常是非常有用的。 您可以向 DataSet 以及重试逻辑等添加错误信息。

传递给 RowUpdating 和 RowUpdated 事件的 RowUpdatingEventArgs 和 RowUpdatedEventArgs 参数包括: Command 属性,它引用用来执行更新的 Command 对象;Row 属性,它引用包含更新信息的 DataRow 对象;StatementType 属性,它指示所执行的更新类型;TableMapping(如果适用);以及操作的 Status。

可以使用 Status 属性来确定在执行该操作期间是否发生了错误;如果需要,还可以使用该属性来控制对当前行和结果行所执行的操作。 当该事件发生时,Status 属性将为 Continue 或 ErrorsOccurred。 下表演示为了控制更新过程中的后继操作,可以将 Status 属性设置为的值。如果将 Status 属性设置为 ErrorsOccurred,则会引发异常。 您可以通过将 Errors 属性设置为所需异常来控制所引发的异常。 如果使用 Status 的其他值之一,则可防止引发异常。

也可以使用 ContinueUpdateOnError 属性为更新的行处理错误。 如果 DataAdapter.ContinueUpdateOnError 为 true,那么当行的更新导致引发异常时,该异常的文本被放入特定行的 RowError 信息中,并且处理将会继续而不会引发异常。 这使您能够在 Update 完成时对错误作出响应;与此相反的是ADO.NET RowUpdated事件,它使您能够在遇到错误时响应错误。

以下代码示例显示如何添加和移除事件处理程序。 RowUpdating 事件处理程序编写带有时间戳的所有已删除记录的日志。ADO.NET RowUpdated事件处理程序将错误信息添加到 DataSet 中行的 RowError 属性、取消显示异常,并继续处理(镜像 ContinueUpdateOnError = true 的行为)。

' Assumes that connection is a valid SqlConnection object.  Dim custAdapter As SqlDataAdapter = New SqlDataAdapter( _  "SELECT CustomerID, CompanyName FROM Customers", connection)   ' Add handlers.  AddHandler custAdapter.RowUpdating, New SqlRowUpdatingEventHandler( _  AddressOf OnRowUpdating)  AddHandler custAdapter.RowUpdated, New SqlRowUpdatedEventHandler(  AddressOf OnRowUpdated)   ' Set DataAdapter command properties, fill DataSet, and modify DataSet.   custAdapter.Update(custDS, "Customers")   ' Remove handlers.  RemoveHandler custAdapter.RowUpdating, _  New SqlRowUpdatingEventHandler(AddressOf OnRowUpdating)  RemoveHandler custAdapter.RowUpdated, _  New SqlRowUpdatedEventHandler(AddressOf OnRowUpdated)   Private Shared Sub OnRowUpdating(sender As Object, _  args As SqlRowUpdatingEventArgs)  If args.StatementType = StatementType.Delete Then  Dim tw As System.IO.TextWriter = _ System.IO.File.AppendText("Deletes.log")  tw.WriteLine( _  "{0}: Customer {1} Deleted.", DateTime.Now, args.Row(_  "CustomerID", DataRowVersion.Original))  tw.Close()  End If  End Sub   Private Shared Sub OnRowUpdated( _  sender As Object, args As SqlRowUpdatedEventArgs)  If args.Status = UpdateStatus.ErrorsOccurred  args.Status = UpdateStatus.SkipCurrentRow  argsargs.Row.RowError = args.Errors.Message  End If  End Sub

感谢各位的阅读,以上就是"怎么用ADO.NET RowUpdated添加删除事件处理程序"的内容了,经过本文的学习后,相信大家对怎么用ADO.NET RowUpdated添加删除事件处理程序这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

处理 更新 属性 事件 程序 错误 信息 学习 控制 内容 对象 数据 数据源 行为 生时 代码 参数 可以通过 对错 就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技工作委员会 湖南永感互联网科技有限公司 重生之互联网科技帝国 互联网科技公司官网 亿策互联网科技 互联网科技ppt模板 兼蜜互联网科技 郑州华宇互联网科技 上海万想互联网科技 重庆科技学院互联网 湖南洣水互联网科技有限公司扣款 济南华为互联网科技产业总部基地 中化能源互联网科技招聘 上海宁丞科技互联网 重庆互联网医院沙龙医盟信息科技 呼和浩特新华互联网科技学院 广州有谷有贝互联网科技有限公司 普陀区互联网教育科技管理办法 北京军民互联网科技公司 河南商务圈互联网科技有限公司 重生之互联网科技帝国 互联网核心科技是什么 中国互联网科技发展 世界互联网领先科技成果 丰台科技园 互联网 猫创互联网科技 玖二柒互联网科技公司待遇 本届互联网博览会上的黑科技 广州富喜互联网络科技 互联网科技企业文化
0