webForumDet fria alternativet
Logga in / Bli medlem

Syntaxfel

ASP

13 svar · 299 visningar · startad av Asa

Medlem sedan dec. 20011 860 inlägg
Trådstart#1

Hallå - nu har jag hjärnsläpp - får inte en sql å funka
Syntaxfel i INSERT INTO-uttryck. Fattar ej vad som e fel - visae är Ja/Nej i databasen.
icq,dag,ar är tal

<%If Request.QueryString("do") = "save" Then
    Username    = Request.Form("username")
    Pass             = Request.Form("pass")
    Email           = Request.Form("email")
    Visae           = Request.Form("visae")
    Name          = Request.Form("name")
    Homepage  = Request.Form("homepage")
      If Homepage <> "" Then
        If Left(Homepage,7) = "http://" Then
          Homepage = Homepage
        Else
          Homepage = "http://" & Homepage
        End If
      End If
    Man             = Request.Form("man")
    Dag             = Request.Form("dag")
    Ar                = Request.Form("ar")
    Icq               = Request.Form("icq")
    Ort               = Request.Form("ort")
    Occupation  = Request.Form("occupation")
    Picture        = Request.Form("picture")
    Info             = Request.Form("info")
    Sign             = Request.Form("sign")

    Conn.Execute("Insert Into users(username,pass,email,visae,name,homepage,man,dag,ar,icq,ort,occupation,picture,info,sign) Values('" & Username & "','" & Pass & "','" & Email & "','" & Visae & "','" & Name & "','" & Homepage & "','" & Man & "'," & Dag & "," & Ar & "," & Icq & ",'" & Ort & "','" & Occupation & "','" & Picture & "','" & Info & "','" & Sign & "')")
    Response.Redirect "login.asp?mess=member"
End If%>
Medlem sedan juni 200032 967 inlägg
#2

Hur ser den färdiga SQL-frågan ut? Är det något värde som saknas?

Medlem sedan dec. 20011 860 inlägg
#3

Verkar inte vara det.

Insert Into users(username,pass,email,visae,name,homepage,man,dag,ar,icq,ort,occupation,picture,info,sign) Values('Lars','1234','Asa@gruvsjo.com','false','Lars','http://www.gruvsjo.com','Januari',1,1980,1111,'Hedemora','Arbetslös','www','dsf as','fd sdf')

Kan det ha nåt att göra med att visae är JA/NEJ i databasen?

Medlem sedan maj 20018 027 inlägg
#4

Har du radbrytningar i källkoden, så som du har i inlägget här? I så fall ska du binda ihop en radbryten rad med "_":

 Conn.Execute("Insert Into users(username,pass,email,visae,name,homepage,man,dag,ar,"& _
"icq,ort,occupation,picture,info,sign) Values('" & Username & _ 
"','" & Pass & "','" & Email & "','" & Visae & "','" & Name & _
"','" & Homepage & "','" & Man & "'," & Dag & "," & Ar & _
"," & Icq & ",'" & Ort & "','" & Occupation & "','" & Picture _ 
& "','" & Info & "','" & Sign & "')")
Medlem sedan maj 20018 027 inlägg
#5

Du skrev att visae är ja/nej. Men du skickar strängen "false". Kan det vara så att "visae" inte ska vara en sträng överhuvudtaget? Du kanske ska låta bli enkelfnuttarna runt "false".

Medlem sedan juni 200032 967 inlägg
#6

Asa skrev:

Kan det ha nåt att göra med att visae är JA/NEJ i databasen?

Jo, men då borde du få ett type mismatch-fel. Men du ska i alla fall inte ha apostrofer runt false om det är ett ja/nej-fält.

Mvh,

Medlem sedan juni 200032 967 inlägg
#7

Det skulle ju också kunna vara så att något av de fältnamn du använder är reserverat. Det skulle möjligtvis kunna vara name.

Mvh,

Medlem sedan dec. 20011 860 inlägg
#8

Ska kolla om det är felet @nders.

Medlem sedan dec. 20011 860 inlägg
#9

Det var både name och att jag satt '' runt ja/nej fältet. Tackar så mycket :)

Medlem sedan dec. 20011 860 inlägg
#10

Fan - nu strular det när jag ska fylla i enstaka fält. Man ska bara behöva Username, pass, email, visae men det blir Syntaxfel i INSERT INTO-uttryck då :(

Har kollat att alla godkänner att det kan vara tomt i databasen.

Medlem sedan juni 200032 967 inlägg
#11

Du får kontrollera så du inte utelämnar numeriska värden i SQL-frågan. Om SQL-frågan har flera kommatecken i följd för att värden saknas, så får du mycket riktigt ett syntaxfel.

If dag = "" then dag = "NULL"

Etc.

Mvh,

Medlem sedan dec. 20011 860 inlägg
#12

Aha! Tackar

Medlem sedan juni 200032 967 inlägg
#13

Ett alternativ är ju också att utelämna de fälten ur SQL-frågan, vars värden saknas. Då slipper du lägga in nullvärden, eller 0:or eller strängar med nollängd.

Mvh,

Medlem sedan dec. 20011 860 inlägg
#14

Det blev bra så som du skrev först. Jag kör på det.

349 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
203 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)
204 ms — ändringar (db)