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.