webForumDet fria alternativet

Typblandningsfel i villkorsuttryck (delad från och med vbyrongte)

ASP

7 svar · 538 visningar · startad av vbyrongte

Medlem sedan feb. 20067 inlägg
Frågan#1

Jag håller på och lägger upp användarkonton och får följande felmeddelande när jag testar den med pws:en

Microsoft JET Database Engine fel '80040e07'

Typblandningsfel i villkorsuttryck.

xxx.asp , rad 27

sql:en ser ut så här:
sqltemp2="UPDATE lag SET lag.kontaktperson='"& kontaktperson &"', lag.adress='"& adress &"', lag.postnr='"& postnr &"', lag.ort='"& ort &"', lag.tel='"& tel &"', lag.mobil='"& mobil &"', lag.epost='"& epost &"', lag.spelare='"& spelare &"', lag.ledare='"& ledare &"', lag.bilar='"& bilar &"', lag.bussar='"& bussar &"', lag.troja='"& troja &"', lag.strumpor='"& strumpor &"' WHERE lag.laguser='"& laguser &"' AND lag.lagpw='"& lagpw &"'"
set rstemp=conntemp.execute(SQLTemp2)

Tacksam för hjälp innan jag exploderar!

Medlem sedan juni 200032 967 inlägg
#2

Ta bort alla apostrofer runt fältvärden för fält som är av typen tal.

I övrigt: för lättare felsökning; skriv ut den färdiga sql-frågan istället (response.write sqltemp2)

Slutligen: välkommen till wF! :bire

Medlem sedan juni 200032 967 inlägg
#3

Från den andra tråden:

Tack för tipset, men det går ungefär lika bra (dvs dåligt).

Hur ser det alltså ut nu? Samma felmeddelande?

Vad menar du med att skriva ut den färdiga sql-frågan?

Jag menar att du ska skriva ut den färdiga strängen till webbläsaren med response.write, så man får se sql-frågan så som databasmotorn tolkar den.

mvh

Medlem sedan feb. 20067 inlägg
#4

Hej igen!
När jag tar bort citeringen blir resultatet:

Microsoft JET Database Engine fel '80040e14'

Syntaxfel i UPDATE-uttryck.

/cuper/ybc_edit.asp, rad 27

När jag kör response.write blir det:
UPDATE lag SET lag.kontaktperson='Dan Ernfridsson', lag.adress='Blockgatan 14', lag.postnr='73153', lag.ort='Köping', lag.tel='0222-44055', lag.mobil='070-3606332', lag.epost='daer@systemair.se', lag.spelare=14, lag.ledare=3, lag.bilar=, lag.bussar=1, lag.troja='färg', lag.strumpor='färg' WHERE lag.laguser='fff1p12' AND lag.lagpw='mbz93r'
Körningsfel i Microsoft VBScript fel '800a01a8'

Objekt krävs.: 'Response.write(...)'

/cuper/ybc_edit.asp, rad 27

Underligt att webbläsaren inte får något värde på lag.bilar..

Medlem sedan juni 200032 967 inlägg
#5

Underligt att webbläsaren inte får något värde på lag.bilar..

Det är det som gör att du får syntaxfel när du försöker köra SQL-frågan. Kontrollera att du hämtar värdet från rätt ställe / att du angett rätt fältnamn om värdet kommer från ett formulär.

Medlem sedan apr. 20031 660 inlägg
#6

HEJ!

vbyrongte skrev:

...
Underligt att webbläsaren inte får något värde på lag.bilar..

Mmm, har du listat ut varför?

Ett annat råd:
Hur får du in laguser och lagpw i frågan? Skriver man in det i formuläret?
I såfall verkar det dumt gjort, eller finns det i en session/cookie?

Använd istället postens id-nummer, så slipper du skicka med, och visa, inloggningsuppgifter. Det räcker med ett värde för att identifiera posten.

Medlem sedan feb. 20067 inlägg
#7

@nders skrev:

Underligt att webbläsaren inte får något värde på lag.bilar..

Det är det som gör att du får syntaxfel när du försöker köra SQL-frågan. Kontrollera att du hämtar värdet från rätt ställe / att du angett rätt fältnamn om värdet kommer från ett formulär.

Hej!
Jättetack för tipset. Det fattades ett citattecken vid bilar i user-filen och när du sa att man kunde köra sql-frågan med response.write så visste jag ju var jag skulle leta. Nu rullar det på.
Grazie mille

Medlem sedan feb. 20067 inlägg
#8

J.N. skrev:

HEJ!Mmm, har du listat ut varför?

Ett annat råd:
Hur får du in laguser och lagpw i frågan? Skriver man in det i formuläret?
I såfall verkar det dumt gjort, eller finns det i en session/cookie?

Använd istället postens id-nummer, så slipper du skicka med, och visa, inloggningsuppgifter. Det räcker med ett värde för att identifiera posten.

Hej!
Värdena kommer från en session. Nu funkar det hela, det fattades ett litet citattecken i user-filen. Jag skall ändra inloggningsuppgifterna på den användaren. Inte för att jag inte litar på er guys...
Tack för hjälpen

253 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
116 ms — ändringar (db)