rXhalogene: Rediction Limit exceeded

<%
   Dim objConn
   Dim objCmd
   Dim SQLQuery
   Dim strConn
   Dim blnMayUpdate
   Dim benutzernr

strConn = "PROVIDER=Microsoft.Jet.OleDb.4.0;Data Source=" & _
      Server.MapPath("../update.mdb")

If  Request ("blnMayUpdate") = "yes" then

SQLQuery = "UPDATE Benutzer SET Kommentar = '" & REQUEST("Kommentar") & "' WHERE BenutzerNR = " & SESSION("Benutzer_ID")
      SQLQuery = SQLQuery & "('Kommentar') VALUES "
      SQLQuery = SQLQuery & "(Request('Kommentar')"

Set objCmd = CreateObject("ADODB.Command")
      objCmd.ActiveConnection = objConn
      objCmd.CommandText = SQLQuery
      objCmd.Execute
end if

Response.Redirect(Request.ServerVariables("SCRIPT_NAME") & "?saved=true")
      Response.End

objConn.Close
      Set objConn = Nothing
      Set objCmd = Nothing

%>

  1. Der Fehler kommt sofort wenn ich die Seite aufrufen will.

    Ein Popup öffnet sich mit der Nachricht

    Rediction Limit Exceed.

    1. Der Fehler kommt sofort wenn ich die Seite aufrufen will.

      Ein Popup öffnet sich mit der Nachricht

      Rediction Limit Exceed.

      So dieser Fehler scheint an den der IF Schleife zu liegen.

      Wenn ich diese Weglasse bekomme ich folgenden Fehler.

      ADODB.Command (0x800A0BB9)
      Die Argumente sind vom falschen Typ, liegen außerhalb des Gültigkeitsbereiches oder sind miteinander unvereinbar.
      /test/projekt_asp/bemerkung.asp, line 33

  2. SQLQuery = "UPDATE benutzer SET kommentar = '" & REQUEST("kommentar") & "' WHERE beutzerNR = " & SESSION("benutzer_ID")
    SQLQuery = SQLQuery & "('kommentar') VALUES "
    SQLQuery = SQLQuery & "(Request('kommentar')"

    ausgabe

    Microsoft JET Database Engine (0x80040E14)
    Syntaxfehler (fehlender Operator) in Abfrageausdruck ''('kommentar') VALUES (Request('kommentar') WHERE benutzerNR = 4'.

    mmh

    1. SQLQuery = "UPDATE Benutzer SET kommentar = '" & REQUEST("kommentar")'"
            SQLQuery = SQLQuery & "('kommentar') VALUES "
            SQLQuery = SQLQuery & "(Request('kommentar')" & " WHERE benutzerNR = " & SESSION("benutzer_ID")'

      habs nun geändert. und gibt immer noch den obigen fehler

      Syntaxfehler (fehlender Operator) in Abfrageausdruck ''('kommentar') VALUES (Request('kommentar') WHERE benutzerNR = 4'.

      1. Hallo!

        SQLQuery = "UPDATE Benutzer SET kommentar = '" & REQUEST("kommentar")'"
              SQLQuery = SQLQuery & "('kommentar') VALUES "
              SQLQuery = SQLQuery & "(Request('kommentar')" & " WHERE

        **                    *
        benutzerNR = " & SESSION("benutzer_ID")'

        habs nun geändert. und gibt immer noch den obigen fehler

        Syntaxfehler (fehlender Operator) in Abfrageausdruck ''('kommentar') VALUES (Request('kommentar') WHERE benutzerNR = 4'.

        Und wenn Du die markierten Zeichen wegläßt?
        Gruß
        Viennamade

        1. Hallo!

          SQLQuery = "UPDATE Benutzer SET kommentar = '" & REQUEST("kommentar")'"
                SQLQuery = SQLQuery & "('kommentar') VALUES "
                SQLQuery = SQLQuery & "(Request('kommentar')" & " WHERE
                                         **                    *
          benutzerNR = " & SESSION("benutzer_ID")'

          habs nun geändert. und gibt immer noch den obigen fehler

          Syntaxfehler (fehlender Operator) in Abfrageausdruck ''('kommentar') VALUES (Request('kommentar') WHERE benutzerNR = 4'.

          Und wenn Du die markierten Zeichen wegläßt?
          Gruß
          Viennamade

          Halle Viennamade,

          Dieser änderungen ergeben einen weiteren Fehler,

          Kompilierungsfehler in Microsoft VBScript (0x800A03EA)
          Syntaxfehler
          /test/projekt_asp/bemerkung.asp, line 36, column 30

          dementsprechend kann ich mir nicht vorstellen das es daran liegt.

          Line 36 column 30 Beschreibt genau die Stelle

          mfg rXhalogene

          1. Hallo!

            Kompilierungsfehler in Microsoft VBScript (0x800A03EA)
            Syntaxfehler
            /test/projekt_asp/bemerkung.asp, line 36, column 30

            Dann gib doch die Zeichen wieder rein (nur um den Kompilierungsfehler zu vermeiden) und mache gleich nach dieser Zeile eine Ausgabe von SQLQuery. Ich denke, daß Du keine syntaktisch korrekten SQL-Befehl erhalten wirst.

            Gruß
            Viennamade

            1. Dann gib doch die Zeichen wieder rein (nur um den Kompilierungsfehler zu vermeiden) und mache gleich nach dieser Zeile eine Ausgabe von SQLQuery. Ich denke, daß Du keine syntaktisch korrekten SQL-Befehl erhalten wirst.

              Gruß
              Viennamade

              Hallo Viennamade,

              ich habe versucht diese Query auszugeben. funktioniert leider nicht.

              Es sieht nun so aus das diese Benutzer_ID eine Zahl ist. Dem entprechend vermute ich auch da einen fehler. Gibt es nun eine Möglichkeit die SQL Query zu verarbeiten?

              mfg rXhalogene

              1. Hallo!

                ich habe versucht diese Query auszugeben. funktioniert leider nicht.

                ... mit ausgeben meinte ich nicht "verarbeiten", sondern eine Ausgabe vom Commandstring am Bildschirm (response.write, je nachdem ...). Und so das nicht funktioniert, kannst Du ja gleich nach der Ausgabe das Programm/Script verlassen (exit oder stop, denke ich).

                Es sieht nun so aus das diese Benutzer_ID eine Zahl ist. Dem entprechend vermute ich auch da einen fehler. Gibt es nun eine Möglichkeit die SQL Query zu verarbeiten?

                Ob Benutzer_ID eine Zahl ist, ist die eine Frage, die andere, ob das Feld in der DB einen numerischen Typ hat.

                Gruß
                Viennamade

                1. »»

                  Ob Benutzer_ID eine Zahl ist, ist die eine Frage, die andere, ob das Feld in der DB einen numerischen Typ hat.

                  Gruß
                  Viennamade

                  Hallo Viennamade,

                  benutzernr = session (benutzerid)

                  benutzernr = zahl

                  session = ?

                  hast du eine idee ?

                  1. Hallo!

                    benutzernr = session (benutzerid)
                    benutzernr = zahl
                    session = ?
                    hast du eine idee ?

                    Äh, nein, ich habe keine Idee wie ich Deine Frage interpretieren soll. Allerdings habe ich die Idee, daß der Inhalt Deiner Variablen "SQLQuery" interessant wäre.
                    Session ist ein Objekt mit Methoden, Eigenschaften und Ereignissen.

                    Gruß
                    Viennamade

                    1. Hallo Viennamade

                      wenn du mir sagst wie ich das ausgeben kann?

                      ein Response.Write SQLQuery FUnktioniert ja leider nicht.

                      1. Hallo!

                        wenn du mir sagst wie ich das ausgeben kann?

                        ein Response.Write SQLQuery FUnktioniert ja leider nicht.

                        Warum funktioniert das nicht?
                        Welche Fehlermeldung erhältst Du dabei (einen Kompilierungsfehler hattest Du ja anfänglich nicht und wenn Du diesen Anfangszustand wieder herstellst, dann sollte respone.write funktionieren)?

                        Gruß
                        Viennamade

                        1. Hallo Viennamade,

                          soweit ich mich erinnere wurde die ID verglichen.

                          also die id wurde angezeigt.

                          1. Hallo!

                            Ich glaube, ich muß passen, denn:

                            • in Deinem vorletzten Posting sagst Du: "Response.Write SQLQuery FUnktioniert ja leider nicht"
                            • Daraufhin frage ich Dich, warum das nicht funktioniert und welche Fehlermeldung Du bekommst
                            • Dann diese Deine Antwort:

                            soweit ich mich erinnere wurde die ID verglichen.

                            also die id wurde angezeigt.

                            Mit der, komme ich schlicht und einfach nicht klar.

                            Tut mir leid, ich wollte Dir helfen, dafür hätte ich den Commandstring für die SQL-Abfrage gebraucht - vielleicht kommt er ja noch, diese Nacht aber lese ich ihn nimmer.

                            Gute Nacht
                            Viennamade

                            1. Hallo Viennamade,

                              gute idee, werde morgen Früh wieder Posten. Vielleicht habe ich bisdahin ja eine Kreative idee.

                              mfg rXhalogene

          2. Hi,

            wenn das Problem noch besteht:

            SQLQuery = "UPDATE Benutzer SET kommentar = '" & REQUEST("kommentar")'"

            SQLQuery = SQLQuery & "('kommentar') VALUES "
                  SQLQuery = SQLQuery & "(Request('kommentar')" & " WHERE

            Schau die mal dein Quote-Schema in der ersten Zeile an:
            SET kommentar = '" & REQUEST("kommentar")'"

            Das sollte heißen
            SET kommentar = '" & Request("kommentar") & "'"

            Hoffe ich hab jetzt nichts doppelt erzählt.

            MfG
            Rouven

            --

            -------------------
            ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
  3. Hi,

    ich programmiere ab und zu PHP und habe auch schon mal eine Fehlermeldung der Art 'Rediction Limit exceeded' bekommen - hieß allerdings 'Redirection' und nicht 'Rediction'. Falls du dich vertippt hast, hier meine Lösung: Browser machen es nicht all zu lange mit, wenn sie mehrfach weitergeleitet werden (im HTTP-Header die Zeile 'Location: irgendwas'). Schließlich wollen/sollten sie den Nutzer vor einer Endlosschleife bewaren.

    Beispieldatei redirection.php:

    <?
    header("Location: redirection.php");
    ?>

    Gibt beispielsweise diesen Fehler. Verzeiht mir dass ich keine vollständige URL angegeben hab, aber ich weis nicht wo das Script getestet wird...

    E7