webForumDet fria alternativet

Syntaxfel

13 svar · 299 visningar · startad av Asa

AsaMedlem sedan dec. 20011 860 inlägg
#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%>
@ndersMedlem sedan juni 200032 969 inlägg
#2

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

AsaMedlem 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?

UlfTMedlem 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 & "')")
UlfTMedlem 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".

@ndersMedlem sedan juni 200032 969 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,

@ndersMedlem sedan juni 200032 969 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,

AsaMedlem sedan dec. 20011 860 inlägg
#8

Ska kolla om det är felet @nders.

AsaMedlem sedan dec. 20011 860 inlägg
#9

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

AsaMedlem 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.

@ndersMedlem sedan juni 200032 969 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,

AsaMedlem sedan dec. 20011 860 inlägg
#12

Aha! Tackar

@ndersMedlem sedan juni 200032 969 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,

AsaMedlem sedan dec. 20011 860 inlägg
#14

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

129 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)