Johannes: ASP und SQL-Datenabnk

Hi Leute,
ich verbinde mich via ASP mit einer SQL-Datenbank. Wenn die Anmeldung bei dieser schief läuft (Passwort falsch) soll aber nicht die Fehlermeldung der SQL-Datnbank kommen, sondern ein von mir vorgegebener Text.
Kann mir irgendjemand sagen wie ich das anstellen kann???

Johannes

  1. Hi Johannes,

    ich verbinde mich via ASP mit einer SQL-Datenbank. Wenn die Anmeldung bei dieser schief läuft (Passwort falsch) soll aber nicht die Fehlermeldung der SQL-Datnbank kommen, sondern ein von mir vorgegebener Text.
    Kann mir irgendjemand sagen wie ich das anstellen kann???

    bau dir 'n eigenen error-handler:

    dim strErrorMsg
    dim bolErrors
    strErrorMSg= ""
    bolErrors= false

    sub TrapError(strError)
    bolErrors= true
    strErrorMsg= strErrorMsg & strError & " ***** "
    end sub

    sub ProcessErrors()
    if bolErrors then
            response.write("alles kaputt hier! - " & strErrorMsg)
    end if
    end sub

    on Error Resume Next

    ---und dann nach jeder kritischen aktion, deren fehlerverhalten du abfangen willst:

    if Err.number<>0 then
    TrapError "DESC: " & Err.description & " / NUM: "  & Err.number & " / SRC: " & Err.source
    end if

    ---und dann am scriptende noch:

    ProcessErrors

    so mache ich's immer...mag elegantere methoden geben, aber für meine zwecke war's immer ausreichend...

    so long...
    /*,*/

    1. so mache ich's immer...mag elegantere methoden geben, aber für meine zwecke war's immer ausreichend...

      so lange es funktioniert, ist es doch gut und das tut es

      danke

      Johannes

      1. so mache ich's immer...mag elegantere methoden geben, aber für meine zwecke war's immer ausreichend...

        so lange es funktioniert, ist es doch gut und das tut es

        danke

        Johannes

        Hallo Johannes,

        ich würde On Error Resume Next (da es alle Fehler ignoriert)
        nicht global, sondern nur in einer Subroutine oder Funktion
        verwenden.

        %>
        Private Sub TuWasOderAuchNicht()

        On Error Resume Next

        ...
        ...
        ...

        End Sub
        %>

        Wenn Du es global, also außerhalb einer Funktion defnierst,
        werden alle Fehler ignoriert, was außerst fatale Folgen haben
        kann. Daher solltest Du auch Deinen DB-Connect in einer
        Subroutine durchführen.

        Zu beachten ist vielleicht auch, daß auch alle (selbstgeschriebenen)Funktionen, die Du innerhalb der Routine mit Fehlerbehandlung
        aufrufst, ebenfalls keine Fehler mehr bringen, da auch dort jetzt
        jeglicher Fehler übergangen wird und selbst abgeprüft werden muss.

        Tschau, Stefan

    2. Hi Wowbagger
      Das war eigentlich schon alles was ich brauchte. Trotzdem so rein interessenhalber: Kann ich den Quellcode auch irgendwie anpassen, so daß es für
      verschiedenartige Errors auch unterschiedliche Texte ausgegeben werden???

      Johannes

      1. Hi Johannes,

        Das war eigentlich schon alles was ich brauchte. Trotzdem so rein interessenhalber: Kann ich den Quellcode auch irgendwie anpassen, so daß es für
        verschiedenartige Errors auch unterschiedliche Texte ausgegeben werden???

        na ja sicher, z.b. so (hab's jetzt nur 'mal so getipt uznd nicht getestet :)):

        ---Also...Fehler anders 'loggen':

        if Err.number<>0 then
             TrapError Err.description, Err.number
        end if

        ---und dann eine entspr. auswahl treffen in 'TrapError':

        sub TrapError(descError, numError)
        bolErrors= true
                select case numError
                     case 1 strErrorMsg= strErrorMsg & "hallo" & VBCrLf
                     case 2 strErrorMsg= strErrorMsg & "Welt!" & VBCrLf
        .
        .
        .
                     case else strErrorMsg= strErrorMsg & "unbekannter Fehler!" & VBCrLf
                end select
        end sub

        so long...
        /*,*/