Just nu i M3-nätverket
Gå till innehåll
mia_sr

Felmeddelande

Rekommendera Poster

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ö]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

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]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

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.

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

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

 

Ja det är alltid ett tal, men det är en texttyp i accessdatabasen

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

samma fel när jag ändrat till

WHERE session ='" & session & "'"

 

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

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

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?

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

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.

 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

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

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

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.

 

 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

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.

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

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.

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Den säger fortfarade "missing ;" trots

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

 

Det är Access.

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
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]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

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.

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

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]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

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!

 

 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...