vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
ADO-Connection - Fehlerbehandlungsroutine schlägt fehl!!! 
Autor: ante.m
Datum: 23.05.03 16:14

Hallo zusammen.
folgendes Problem beim Zugriff auf eine Accessdatenbank.
Über ADO (Connection-Objekt ) das sich bei mir in einem Klassenmodul befindet verbinde ich mich unter Angabe des Benutzernamens und PW an einer AccessDB. Das läuft auch hervorragend. Bei fehlerhafter Authetifizierung an der DB, wird durch eine Fehlerbehandlungsroutine (dazu habe ich das Ereignis ConnectComplete des ConnectionObjekts verwendet) der Anwender über eine MsgBox über den Fehler informiert.
So und nun passiert das was ich eigentlich nicht wollte da ich dachte, dass hätte ich bereits durch meine Fehlerbehandlungsroutine abgefangen. Der Code bleibt im Debugmodus stehen und VB spukt mir genau den Fehler aus den ich zuvor abgefangen habe. Nun habe ich die Möglichkeit zu Debbugen oder Abbrechen.
Ich kasper da jetz schon seit 2Tagen herum. Ich habe die schn...... voll.


Quell-Code:

' Verbindung zur Datenbank herstellen
Public Sub ConnectDB()
Dim MSStandPrompBox As ConnectPromptEnum ' Mircrosoft Standar-Anmeldebox
Dim lDBUserName As String
Dim lDBPasswort As String
Dim i As Integer
Dim lConnectErrorMsgText As String

On Error GoTo MasterOfDesaster

' Mircrosoft Standar-Anmeldebox nicht anzeigen
MSStandPrompBox = adPromptNever

' Referenz zum Connect-Objekt
Set objDBCon = New ADODB.Connection


With objDBCon
.CursorLocation = adUseClient
.Mode = adModeShareDenyNone
.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0; " & _
"Data Source = '" & DBPath & "'; " & _
"User ID = '" & mvarDBUserName & "'; " & _
"Password = '" & mvarDBPasswort & "'"
'.Properties("Jet OLEDBatabase Password") = dbPWD
.Properties("Prompt") = MSStandPrompBox
.Properties("Jet OLEDB:System Database") = DBPathMDW

' Userinformationen bei erfolgreicher DB-Verbindung _
aus ConnectioString und Property löschen. _
* Läuft nur bei SQl-Servern
'.Properties("Persist Security Info") = True

End With

MasterOfDesaster:

With objDBCon
For i = 0 To .Errors.Count - 1
lConnectErrorMsgText = "Error: " & .Errors(i) & vbCrLf
Next i
.Errors.Clear
End With
MsgBox lConnectErrorMsgText

End Sub

' Fehler\Erfolgs- Behandlungsroutine beim Verbinden mit der DatenBank
Private Sub objDBCon_ConnectComplete(ByVal pError As Error, adStatus As EventStatusEnum, _
ByVal pConnection As Connection)

Dim Err As Error
Dim strError As String

' Voraussetzung für eine erfolgreiche Fehlerbehandlungsroutine ist _
ein Eintrag im Feld Benutzername und Kennwort. Falls eines der beiden Werte fehlt _
schlägt die Fehlerbehandlunsroutine fehl und Sie muß durch eine Errors-Collection _
abgefangen werden. S.o. Prozedur ConnectDB -> MasterOfDesaster

If adStatus = adStatusErrorsOccurred Then
MsgBox pError.Description
Else
MsgBox " Verbindung erfolgreich hergestellt..."
End If

End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
ADO-Connection - Fehlerbehandlungsroutine schlägt fehl!!!849ante.m23.05.03 16:14
Re: ADO-Connection - Fehlerbehandlungsroutine schlägt fehl!!...444unbekannt23.05.03 17:53
Re: ADO-Connection - Fehlerbehandlungsroutine schlägt fehl!!...405ante.m23.05.03 22:34
Re: ADO-Connection - Fehlerbehandlungsroutine schlägt fehl!!...431unbekannt23.05.03 22:47
Ein Klick und die Sache ist gelöst.381ante.m26.05.03 09:09

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle 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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel