Markus: Was ist an dieser SQL Anweisung falsch???

Hi Leute

Hab hier eine SQL Anweisung falsch?

strSQL = "UPDATE Immo SET Ort = 'wien'  WHERE ID = Request.Form("ID") "

Wenn ich das gleiche so schreibe geht es:

strSQL = "UPDATE Immo SET Ort = 'Gmunden'  WHERE ID = 32 "

Aber das Form Feld "ID" kann ebenfalls ausgelesen werden:

Response.Write Request.Form("ID")

und liefert ebenfalls dann in dem Beispiel den Wert "32" zurück..

Wie binde ich das richtig ein? hab mich mit & usw.. gespielt geht leider nicht

Was mache ich falsch?

MFG
Markus

  1. Hallo,

    String und Variablen richtig verketten...

    strSQL = "UPDATE Immo SET Ort = 'wien'  WHERE ID = Request.Form("ID") "

    strSQL = "UPDATE Immo SET Ort = 'wien'  WHERE ID = " & Request.Form("ID")

    Odium

    1. Danke

      Funktioniert!

      1. Wenn ich die Anweisung um folgende Felder erweitern möchte stimmt das so:?

        strSQL = "UPDATE Immo SET Ort = '& Request.Form("Ort") &', PLZ = '& Request.Form("PLZ") &'  WHERE ID = " & Request.Form("ID")

        mit den & bin ich mir nicht sicher..

        Danke

        MFG
        Markus

        1. strSQL = "UPDATE Immo SET Ort = '& Request.Form("Ort") &', PLZ = '& Request.Form("PLZ") &'  WHERE ID = " & Request.Form("ID")

          Nein,

          Strings werden mit " abgeschlossen und wenn du in der WHERE anweisung auf einen string anstelle eines numerischen wertes überprüfts muss das in einzel hochkomma gestellt werden'

          strSQL = "UPDATE Immo SET Ort = " & Request.Form("Ort") & ", PLZ = " & Request.Form("PLZ") & "  WHERE ID = " & Request.Form("ID")

          Für string überprüfung dann:
          WHERE ID = '" & Request.Form("ID") & "'"

          Netghost

          1. Hi

            Danke

            strSQL = "UPDATE Immo SET Ort = " & Request.Form("Ort") & ", PLZ = " & Request.Form("PLZ") & "  WHERE ID = " & Request.Form("ID")

            Funktioniert aber so wie es da oben steht!

            Für string überprüfung dann:
            WHERE ID = '" & Request.Form("ID") & "'"

            Für was brauch ich diese Anweisung ? die erste funktioniert doch auch ohne die Hochkommas?

            MFG
            Markus

            1. Für string überprüfung dann:
              WHERE ID = '" & Request.Form("ID") & "'"

              Für was brauch ich diese Anweisung ? die erste funktioniert doch auch ohne die Hochkommas?

              Wenn deine ID Buchstaben enthält du also nicht mehr gegen reine Nummer prüfst. Beispiel
              ID = A-001
              ID = A01
              ID = 100A
              etc.

              Netghost

              1. Merci

                jetzt ist es klar...