Just nu i M3-nätverket
Jump to content

Felmeddelande


mia_sr

Recommended Posts

Hej!

 

Jag får felmeddelande Wrong number of arguments or invalid property assignment på min sqlsats som ser ut så här: (ganska lång men jag klipper in hela i alla fall)

Vad brukar felmeddelandet bero på?

 

sql = "insert into enkat(arbetsplats_forandrad, ljudniva,belysning,stol,bord,skarm,tangentbord, mus,ventilation,utrymme,forvaring, placering, solavskarmningen,kommentar_personligarbetsplats)values('" & request.form("arbetsplats_forandrad") & "','" & request.form("ljudniva") & "','" & request.form("belysning") & "','" & request.form("stol") & "','" & request.form("bord") & "','" & request.form("skarm") & "','" & request.form("tangentbord") & "','" & request.form("mus") & "','" & request.form("ventilation") & "','" & request.form("utrymme") & "','" & request.form("forvaring") & "','" & request.form("placering") & "','" & request.form("solavskarmningen") & "','" & request.form("kommentar_personligarbetsplats") & "')WHERE session =" & session

 

Jag la till några mellanslag

[inlägget ändrat 2002-10-16 14:23:39 av Erik Junesjö]

Link to comment
Share on other sites

1. Finns alla fälten (och rätt stavade) i databasen?

 

2. Kläm in ett mellan rum mellan den sista parantesen och WHERE

 

3. Innehåller variablen 'session' alltid ett tal?

 

4.Någon liten klocka ringer om att en sträng max får vara 255 tecken... men är inte säker.... Din är längre än så och resten klipps av, och då får man detta felet...

 

5. Om du har skrivit koden uppdelad på flera rader, måste varje rad sluta med ett _

 

6. Jag tror det finns en maxgräns på hur lång en rad kan vara. ?.

 

 

[inlägget ändrat 2002-10-16 14:29:10 av Mr Andersson]

Link to comment
Share on other sites

Magnus Ahlkvist

Blir det fel när du gör conn.execute, eller när du försöker skapa strängen SQL?

Om det är det första, gör:

Response.Write SQL
Response.END

 

Klistra in SQL-satsen som skrivs ut och posta den här i forumet. I övrigt har jag svårt att se något större fel med SQL-satsen, frånsett att du genomgående borde göra:

replace(request.form("någonting"),"'","''")

istället för

request.form("någonting")

 

Annars kan en användare skriva in ' i något av formulärfälten och din SQL-sats blir ogiltig, eftersom ' används som sträng-avskiljare i SQL.

 

--

En röst talade till mig och sade:

”Le och var glad, ty det kunde vara värre”.

Så jag log, och jag var glad.

Och det blev värre.

 

Link to comment
Share on other sites

samma fel när jag ändrat till

WHERE session ='" & session & "'"

 

allt är på samma rad så det är inte radbrytningarna det är fel på.

 

Link to comment
Share on other sites

Jag kanske kan gå en anna väg.

Skickar med värdet från en annan fil

 

steg2.asp?session=928070498

 

Kanske kan använda RequestQuery.String?

 

Link to comment
Share on other sites

Det är inte där felet är.

 

Jag tror mest på #4 i mitt första svar. Testa att korta av strängen, testa med 4 eller 5 fält och se vad som händer. Öka sen på med fler fält och se när det går och skogen.

 

 

Link to comment
Share on other sites

testade men då visas inte sidan alls..

 

sql = "insert into enkat(arbetsplats_forandrad)values('" & request.form("arbetsplats_forandrad") & "') WHERE session ='" & session & "'"

 

 

Det har fungerar med arbetsplats_forandrad förut så det är inte namngivningen det är fel på.

 

Link to comment
Share on other sites

Kläm in lite debugkod före och efter SQL-anropet. Normalt sett om man inte får fram något på skärmen så har det gått bra...

 

Vidare får fila lite på dina mellanslag. Det fattas ett före Values.

 

 

 

Link to comment
Share on other sites

Magnus Ahlkvist

Felet är med största sannolikhet att du gör

WHERE session ='" & session & "'"

 

Session är nämligen ett objekt. Det du är ute efter är

Session.SessionID

 

Link to comment
Share on other sites

Mia_sr har tidigare bekräftat att variablen innehåller rätt värde, men jag kan hålla med om att det borde vara som du säger.

 

 

Link to comment
Share on other sites

Magnus Ahlkvist

Jag reproducerar exakt samma felmeddelande när jag gör:

 

Response.Write "test" & session

 

och felmeddelandet "Default property missing"

 

Response.Write session

 

--

En röst talade till mig och sade:

”Le och var glad, ty det kunde vara värre”.

Så jag log, och jag var glad.

Och det blev värre.

 

Link to comment
Share on other sites

Magnus Ahlkvist

Då är det nästan klart :)

 

Det du nu behöver göra är:

 

...WHERE session='" & session.SessionID & "';"

 

En fråga bara - vad är det för databas du använder?

 

--

En röst talade till mig och sade:

”Le och var glad, ty det kunde vara värre”.

Så jag log, och jag var glad.

Och det blev värre.

 

Link to comment
Share on other sites

Den säger fortfarade "missing ;" trots

sql = "insert into enkat(arbetsplats_forandrad) values('" & request.form("arbetsplats_forandrad") & "') WHERE session='" & session.SessionID & "';"

 

Det är Access.

 

Link to comment
Share on other sites

sql = "INSERT INTO enkat(arbetsplats_forandrad) VALUES('" & request.form("arbetsplats_forandrad") & "') WHERE session='" & session.SessionID & "';"

 

Du kan inte ha WHERE i en INSERT INTO sats...

 

sql = "INSERT INTO enkat(arbetsplats_forandrad) VALUES('" & request.form("arbetsplats_forandrad") & "')"

 

eller

 

sql = "UPDATE [enkat] SET arbetsplats_forandrad = '" & request.form("arbetsplats_forandrad") & "' WHERE session ='" & session.SessionID & "'"

 

- M

-----------------------------------------------------

ju mer jag lär mig ju mer inser jag så lite jag kan

 

 

[inlägget ändrat 2002-10-16 15:22:28 av Magnus Gladh]

Link to comment
Share on other sites

Magnus Ahlkvist

Prova att göra:

 


Response.Write SQL
Response.End

efter att du mekat ihop strängen SQL, utför alltså inte databasanropet, utan skriv istället ut SQL-strängen. Posta den så får vi se vad vi kan göra.

 

..

 

En röst talade till mig och sade:

”Le och var glad, ty det kunde vara värre”.

Så jag log, och jag var glad.

Och det blev värre.

 

Link to comment
Share on other sites

F-n... nu känner man sig som en jubelåsna.....

 

SJÄLVKLART kan man inte ha WHERE i en INSERT!!

 

Dags att sova, eller kanske byta jobb....?

 

[inlägget ändrat 2002-10-16 15:23:23 av Mr Andersson]

Link to comment
Share on other sites

hehe.. jag är bäst.. trallalalaa

 

- M

-----------------------------------------------------

ju mer jag lär mig ju mer inser jag så lite jag kan

 

Link to comment
Share on other sites

Vaddå bäst?

 

Du har just försört resten av min dag och sågat mitt självförtroende jämns med hälarna!!

 

Nej, jag bara skojjar! Det var bra att du trillade in och berättade att vi är ute på fel spår!

 

 

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...