vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Datenbanken · ADO   |   VB-Versionen: VB5, VB617.06.05
ADO-Fehler effektiver auswerten

Mit Hilfe des ADODB.Error-Objekts lassen sich Fehler beim ADO-Datenbankzugriff effizienter auswerten.

Autor:   Dieter OtterBewertung:  Views:  21.042 
www.tools4vb.deSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11kein Beispielprojekt 

In aller Regel verwendet man zur Fehlerauswetung in VB das Err-Objekt. Beim ADO-Datenbankzugriff allerdings sollte man das ADODB.Error-Objekt verwenden, da man über dieses Objekt alle seit der letzten DB-Aktion aufgetretenen Fehler abfragen und somit auch besser auswerten kann. Zudem bekommt man über spezielle Eigenschaften eine detailiertere Fehlerbeschreibung.

Beispiel:
Statt Fehler beim ADO-Zugriff wie folgt abzufangen...

' ADO-Datenbankaktion
On Error Resume Next
...
 
If Err.Number <> 0 Then
  MsgBox "Fehler: " & CStr(Err.Number) & " " & Err.Description
End If

... sollte man besser das ADODB.Error-Objekt verwenden:

Dim oError As ADODB.Error
 
' ADO-Datenbankaktion
On Error Resume Next
...
 
If oConn.Errors.Count > 0 Then
  ' alle ADO-Fehler des Connection-Objektes durchlaufen
  Dim sError As String
  For Each oError In oConn.Errors
    sError = sError & "Fehler: " & CStr(oError.Number) & " " & oError.Description & vbCrLf & _
      "NativeError: " & oError.NativeError & vbCrLf & _
      "SQL-Status: " & oError.SQLState & vbCrLf & _
      "Quelle: " & oError.Source & vbCrLf & vbCrLf
  Next 
  MsgBox sError
End If



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.