您好,登錄后才能下訂單哦!
這篇文章主要講解了“怎么用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添加刪除事件處理程序這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。