25.5 Das Ereignis FillError des DataAdapters
Sollte beim Füllen des DataSets oder der DataTable ein Fehler auftreten, löst der DataAdapter das Ereignis FillError aus. Sie können das Ereignis dazu benutzen, um zum Beispiel die Ereignisursache zu protokollieren. Standardmäßig wird nach Beendigung des Ereignisses eine Ausnahme ausgelöst. Statt diese Ausnahme in Ihrem Code abzufangen, sollten Sie besser einen eigenen Ereignishandler bereitstellen und darin der Eigenschaft Continue des zweiten Handlerparameters den Wert True zuweisen.
Im folgenden Programmbeispiel wird ein Fehler beim Füllen des DataSets ausgelöst, indem die Eigenschaft MissingMappingAction des DataAdapters auf Error gesetzt wird. Im Ereignishandler wird die Folgeausnahme mit ev.Continue=True unterdrückt.
'...\ADO\DataAdapter\FillError.vb |
Option Strict On Imports System.Data.Common, System.Data.SqlClient Namespace ADO Module FillError Sub Test() Dim con As DbConnection = New SqlConnection() con.ConnectionString = "Data Source=(local);" & _ "Initial Catalog=Northwind;Integrated Security=sspi" Dim cmd As DbCommand = New SqlCommand() cmd.CommandText = "SELECT ProductName, UnitPrice FROM products" cmd.Connection = con Dim da As DbDataAdapter = New SqlDataAdapter() da.SelectCommand = cmd da.MissingMappingAction = MissingMappingAction.Error AddHandler da.FillError, AddressOf Fehler Dim ds As New DataSet() da.Fill(ds) Console.ReadLine() End Sub Sub Fehler(ByVal sender As Object, ByVal ev As FillErrorEventArgs) Console.WriteLine(ev.Errors.Message) ev.Continue = True End Sub End Module End Namespace
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.