Miraldo: Fehler abfangen

Hallo

gibt es eigentlich eine möglichkeit fehler abzufangen, nach dem eine SQL-Query auf ausgeführt worden ist.

mein code sieht folgendermasen aus:

Set Connection=Server.CreateObject("ADODB.Connection")
Connection.ConnectionString="dsn=myserver;uid=myuser;pwd=mypwd"
Connection.LockType=12
Connection.Open()
Connection.BeginTrans()

Set Command=Server.CreateObject("ADODB.Command")
Command.ActiveConnection=Connection
Command.Text="insert into tabele values(1,2,3,4,'text')
Command.Execute,8

Gibt es jetzt eine möglichkeit zu ermitteln ob der Insert erfolgreich war?
Muss ich da auf die ErrorCollection vom Connection Objekt zurückgreifen?
Und in wie fern sind die Fehler vom ODBC-Treiber abhängig?

Abschliessend noch eine Frage: kennt irgendjemand einen guten ASP-Debugger?

Grüsse
Miraldo

  1. Hallo moraldo,

    gibt es eigentlich eine möglichkeit fehler abzufangen, nach dem eine SQL-Query auf ausgeführt worden ist.

    Ja, dafür gibt es das Err-Objekt

    mein code sieht folgendermasen aus:

    Set Connection=Server.CreateObject("ADODB.Connection")
    Connection.ConnectionString="dsn=myserver;uid=myuser;pwd=mypwd"
    Connection.LockType=12
    Connection.Open()
    Connection.BeginTrans()

    Set Command=Server.CreateObject("ADODB.Command")
    Command.ActiveConnection=Connection
    Command.Text="insert into tabele values(1,2,3,4,'text')
    Command.Execute,8

    Gibt es jetzt eine möglichkeit zu ermitteln ob der Insert erfolgreich war?
    Muss ich da auf die ErrorCollection vom Connection Objekt zurückgreifen?
    Und in wie fern sind die Fehler vom ODBC-Treiber abhängig?

    Da die Fehler in den ASP-ErrorHandler weitergereicht werden, reicht
    es aus, wenn Du das Standardobjekt abfrägst.

    If Err <> 0 Then
        Response.Write Err.Number & vbCrLf
        Response.Write Err.Description & vbCrLf
        Response.Write Err.Source & vbCrLf
    End if

    Allerdings musst Du vorher (am Anfang der Prozedur oder Funtion) noch
    On Error Resume Next reinschreiben (würde ich aber nicht global für die
    ganze Seite machen, da es hierbei zu unerwünschten Effekten (da jeder
    Fehler einfach übergangen wird) kommen kann.

    Abschliessend noch eine Frage: kennt irgendjemand einen guten ASP-Debugger?

    Microsoft Script Debugger. Man muss in der MMC des Webs allerdings auch
    noch erlauben, dass ein Debug stattfinden darf.

    Tschau, Stefan

    1. Abschliessend noch eine Frage: kennt irgendjemand einen guten ASP-Debugger?

      Microsoft Script Debugger. Man muss in der MMC des Webs allerdings auch
      noch erlauben, dass ein Debug stattfinden darf.

      zuerst amal, vielen dank, obwohl ich eigentlich auf so was offensichtliches (Error objekt) selber kommen müsste, tja keiner ist perfekt :)

      ich wollt nur wissen ob du weisst wo man den Ms Script debuger kriegen könnte (ohne elends lande formulare auf der ms site auszufüllen :) ) und was MMC heisst

      Grüsse
      Miraldo

      1. Hallo Miraldo,

        ich wollt nur wissen ob du weisst wo man den Ms Script debuger kriegen könnte (ohne elends lande formulare auf der ms site auszufüllen :) ) und was MMC heisst

        den Script Debugger kriegst Du hier:
        http://www.microsoft.com/germany/scripting/default.htm

        MMC heisst: Management Console

        Die hast Du aber nur, wenn Du NT oder Win2K benutzt.

        Tschau, Stefan

    2. Ein Problem hab ich noch :)

      Wie schalt ich den AutoCommit bei der Connection aus?

      Ausserdem, wie sag ich dem Treiber, dass wenn beim Insert ein Fehler aufgetaucht ist, er nicht die Error Site generieren sollt, sondern den fehler anfach an das Script weiterleiten sollte.

      Jetzt ist es so, dass wenn ein Fehler auftaucht, der Browser sofort mit dem Bearbeiten des Scripts aufhört und Eine Fehler-Meldung bring ....

      Grüsse Miraldo