webForumDet fria alternativet

Strul med Insert-sats.

6 svar · 167 visningar · startad av nakoz

nakozMedlem sedan dec. 1999653 inlägg
#1

okej.. nu har jag stirrat mig helt och hållet blind på min kodning.

<%
Dim user, pass, mail, namn, gatuadr, postadr, postnr, sex, age, browser
user = Session("user")
pass = Session("pass")
mail = Session("mail")
namn = Session("namn")
gatuadr = Session("gatuadr")
postadr = Session("postadr")
postnr = Session("postnr")
sex = Session("sex")
age = Session("age")
browser = Session("browser")

SQL = "INSERT INTO users (username, password, namn, epost, gatuadress, postnr, postadress, kon, alder) VALUES ('"& user &"','"& pass &"','"& namn &"','"& mail &"','"& gatuadr &"','"& postnr &"','"& postadr &"','"& sex &"',"& age &")" 
Set rs = cn.Execute(SQL)
Set rs = Nothing
cn.Close
Set cn = Nothing
Session.Abandon
Session("browser") = browser
Response.Redirect "main.asp"
%>

jag får felmeddelandet Microsoft JET Database Engine fel '80040e14'

Syntax error in INSERT INTO statement.

/jobb/futurefitness/html/registrera-spara2.asp, rad 25

vad e fel? :/

MVH

------------------
nakoz :)

nakozMedlem sedan dec. 1999653 inlägg
#2

kan ju tilllägga att alla fält förutom 'Alder' är av datatypen text. Kan inte postnummer va text? eller va e de som knasar? :(

MVH

------------------
nakoz :)

LarsGMedlem sedan dec. 200012 464 inlägg
#3

Nej jag ser inget direkt. Det jag kan tänka mig är att variabeln age inte får något värde.

Det kan man enklast kontrollera med att skriva ut sql-satsen med response.write.

------------------
essentitia preter non sans multiplicandum

nakozMedlem sedan dec. 1999653 inlägg
#4

har gjort de larsG... å då printar den allting, helt rätt som jag vill ha de... men den vill inte ha in värdena i databasen. testade å göra postnr till tal oxå, samt att skippa enkelfnuttarna i inserten... men jag fick samma fel då.

MVH

------------------
nakoz :)

emissionMedlem sedan dec. 19996 721 inlägg
#5

Hur blev SQL-satsen?

Du ska inte göra ett recordset när du gör en INSERT, eftersom inget returneras.

ersätt

Set rs = cn.Execute(SQL)
Set rs = Nothing

med

cn.Execute SQL

obs! Inga parenteser

nakozMedlem sedan dec. 1999653 inlägg
#6

åhå... den som söker finner... hittade ett 2 veckor gammalt inlägg, där @nders förklarade att password kanske var ett reserverat uttryck... så jag klamrade det... å voila! :)

Tack emission å larsg för hjälpen. Jag ändrade de som du sa emission, å allt funkar fortfarande tokbra :)

MVH

------------------
nakoz :)

[Redigerat av nakoz den 02 mar 2001]

LarsGMedlem sedan dec. 200012 464 inlägg
#7

Är password ett reserverat ord i SQL? Vilken DBMS använder du?

------------------
essentitia preter non sans multiplicandum

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