Avatar billede vd-per Nybegynder
05. august 2005 - 15:50 Der er 12 kommentarer og
1 løsning

ASP & Access : Too few parameters. Expected 1.

Er der nogen der kan svarer på hvorfor jeg får denne fejl:

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.


jeg har en streng:

strSQL = "Select * From table1 Where Varenr = " & Request.Querystring("id")

hvor jeg får overstående fejl, men hvis jeg ændre den til:

strSQL = "Select * From table1 Where ID = " & Request.Querystring("id")

Virker det fint.
Problemet er af ID er ikke unikt da jeg henter fra flere tables på samme tid

Håber det gav mening.

det skal siges af Varenr er blandet tal og bogstaver hvor ID kun er tal
Avatar billede busschou Praktikant
05. august 2005 - 15:57 #1
da det er blandet tal og bogstaver så skal
strSQL = "Select * From table1 Where Varenr = " & Request.Querystring("id")
være
strSQL = "Select * From table1 Where Varenr = '" & Request.Querystring("id") &"'"
Avatar billede busschou Praktikant
05. august 2005 - 15:58 #2
jvnf
http://support.microsoft.com/default.aspx?scid=kb;en-us;216425
kommer fejlen dog fordi den ikke kan genkende 1 kolonne
Dvs den genkender ikke "Varenr" , er du sikker på den hedder det i tabellen?
Avatar billede vd-per Nybegynder
05. august 2005 - 16:01 #3
aghhh ja, tusind tak
Avatar billede vd-per Nybegynder
05. august 2005 - 16:01 #4
smid lige en svar
Avatar billede busschou Praktikant
05. august 2005 - 16:04 #5
svar ;o) godt det virker igen :o)
Avatar billede vd-per Nybegynder
05. august 2005 - 16:06 #6
lige en ting hvis du da ogsaa vil/kan svarer på det.
hvis nu table1 også skal køre på en Querystring hvordan skal den så lyde??
og takker igen for det hurtige svar
Avatar billede vd-per Nybegynder
05. august 2005 - 16:09 #7
er et par år siden jeg sidst har leget med asp, så kommer nok en del dumme spørgsmål i fremtiden hehe :)
Avatar billede busschou Praktikant
05. august 2005 - 16:10 #8
tja hvis din side kaldes med
default.asp?id=4&table=table1

strSQL = "Select * From "&Request.Querystring("table")&" Where Varenr = '" & Request.Querystring("id") &"'"
--
Husk bortset fra det altid at have sikkerhed imod sql injections
Hvis du forventer at det er tekst så lav en replace(request.querystring("teksten"),"'","''") og hvis det er et tal så lav cint(request.querystring("tallet"))
Gør det inden du benytter dem i din sql, ellers risikerer du at folk laver rav i din database :o)
Avatar billede busschou Praktikant
05. august 2005 - 16:11 #9
tak for point :o), du må jo råbe højt en anden gang igen hvis det er
Avatar billede vd-per Nybegynder
05. august 2005 - 16:12 #10
eller skal jeg bare lave en UNION ALL
Avatar billede vd-per Nybegynder
05. august 2005 - 16:12 #11
skal jeg nok :)

skal man også lukke spørgsmålet btw?
Avatar billede busschou Praktikant
05. august 2005 - 16:13 #12
Så snart du har godkendt et svar så får spørgsmålet et blåt flag og er dermed lukket :o)
Avatar billede vd-per Nybegynder
05. august 2005 - 16:15 #13
ok takker heh
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester