webForumDet fria alternativet

Fel pga tal?

ASP

6 svar · 532 visningar · startad av parse

Medlem sedan juli 200826 inlägg
Frågan#1

Hej!

Jag hämtar ett par olika saker ur en tabell. Alla är text förrutom en.
Denna ställer till en massa problem

AND year = '" & Request.Form("year") & "'

ger

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

tacksam för svar

Medlem sedan dec. 2004736 inlägg
#2

När du arbetar mot en databas med just tal, så skall du INTE använda '. Alltså:
AND year = " & CInt(Request.Form("year")) & "
Lägg märke till CInt(), som ser till att det verkligen är ett tal, och inte text. (Eftersom att text här kan ge dig väldigt stora problem med argsinta personer, läs om SQL Injections. Men ändra till min ovanstående kod så tror jag det funkar perfekt!

Medlem sedan juli 20003 825 inlägg
#3

AND year = #" & Request.Form("year") & "#

- text = enkelfjumpar
- datum = brädgård
- true/false = inget

Medlem sedan mars 20041 505 inlägg
#4

Eclipse skrev:

- text = enkelfjumpar
- datum = brädgård
- true/false = inget

...du bör tillägga att det där gäller Access.

Men nu vet vi ju varken vad det är för databas eller vad "year" är något fält så vi får väl gissa... ;)

Medlem sedan juni 200032 967 inlägg
#5

Normalt sett är ju också year ett reserverat ord, så ett kolumnnamnsbyte kan ju vara att rekommendera...

Medlem sedan maj 200591 inlägg
#6

Fortsätter vi anta att det är Access som används som databas så brukar det funka att ange kolumnnamnet inom hakparanteser om de är reserverade ord, alltså [year].

Medlem sedan juni 200032 967 inlägg
#7

Baltiz skrev:

Fortsätter vi anta att det är Access som används som databas så brukar det funka att ange kolumnnamnet inom hakparanteser om de är reserverade ord, alltså [year].

Ja - men det är inte rätt. Rätt är att inte använda reserverade ord som tabell- eller fältnamn. :)

275 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
135 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)