Avatar billede fun22 Nybegynder
20. september 2004 - 18:12 Der er 19 kommentarer og
1 løsning

Too few parameters

Jeg har lavet et script så jeg kan kalde flere id på en gang:

SQL = "SELECT * FROM forum WHERE kategori IN ("&query&") AND topic = true"

Hvor der så i min query er = 1,2,3

Men den kommer så med denne fejl:
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

Og jeg kan ikke lige se hvor det skulle være at fejlen havde gemt sig...
Avatar billede Spotgun Seniormester
20. september 2004 - 18:14 #1
Fejlen ligger højest sandsynligt det sted du eksekverer din SQL-sætning.

Hvis du f.eks. bruger:
RS.Open "SELECT * FROM blahblah"

...så kan det være dér du mangler nogle parametre så som databaseforbindelse, låse osv.
Avatar billede fun22 Nybegynder
20. september 2004 - 18:17 #2
det hele ser således ud:
SQL = "SELECT * FROM forum WHERE kategori IN ("&query&") AND topic = true"
    Set rs = Conn.Execute(SQL)
Avatar billede fun22 Nybegynder
20. september 2004 - 18:19 #3
og så selvfølgelig:

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=D:\WEB\xxxxx.mdb;"
Avatar billede Spotgun Seniormester
20. september 2004 - 18:22 #4
Prøv at udskrive SQL-sætningen inden du kører den... Det kunne godt være fordi at din Query-variabel er tom...
Avatar billede fun22 Nybegynder
20. september 2004 - 18:26 #5
så ser det således ud:
Titel: Antal svar:
SELECT * FROM forum WHERE kategori IN (3,5) AND topic = true
Avatar billede eagleeye Praktikant
20. september 2004 - 18:34 #6
Den typiske grund til den fejl er hvis et kolonne navn er skrevet forkert eksempelvis hvis kategori skulle være kategoriID.

Så tjek kolonne navne er rigtige, hvis de er det så prøv at sætte klammer omkring:
SQL = "SELECT * FROM [forum] WHERE [kategori] IN ("&query&") AND [topic] = true"
Avatar billede fun22 Nybegynder
20. september 2004 - 18:38 #7
det hele er skrevet rigtigt og det hjalp ikke at sætte klammerne omkring
Avatar billede Spotgun Seniormester
20. september 2004 - 18:38 #8
Prøv evt. også at checke om datatyperne er rigtige.
Avatar billede arne_v Ekspert
20. september 2004 - 18:54 #9
Hvad data type er topic ?  (hvis ikke den er Yes/No så fejler WHERE betingelsen vel)
Avatar billede fun22 Nybegynder
20. september 2004 - 19:01 #10
Topic er ja/nej og kategori er et tekst felt... har prøvet med ' tegnet
Avatar billede Spotgun Seniormester
20. september 2004 - 19:03 #11
Så din sql-sætning da sådan her ud?

SELECT * FROM forum WHERE kategori IN ('3', '5') AND topic = true
Avatar billede eagleeye Praktikant
20. september 2004 - 19:05 #12
Ja så skal der ' og det kan putte ind i koden sådan her:

query = "1,2,3"
query = "'"&replace(query,",","','")&"'"
SQL = "SELECT * FROM forum WHERE kategori IN ("&query&") AND topic = true"
Avatar billede fun22 Nybegynder
20. september 2004 - 19:10 #13
Min query ser sådan her ud:

query = "'"&Request.Querystring("katid")&"'"
query = query &",'"&rs("id")&"'"

men det virker stadigvæk ikke efter jeg har sat ' tegnet ind
Avatar billede arne_v Ekspert
20. september 2004 - 19:12 #14
Prøv og skriv din query ud og post hvordan den ser ud lige før eksekvering
Avatar billede fun22 Nybegynder
20. september 2004 - 19:13 #15
SELECT * FROM [forum] WHERE [kategori] IN ('3','5') AND [topic] = true
Avatar billede eagleeye Praktikant
20. september 2004 - 19:16 #16
hvilken fejl får du nu?
Avatar billede fun22 Nybegynder
20. september 2004 - 19:16 #17
samme fejl...
Too few parameters. Expected 1.
Avatar billede arne_v Ekspert
20. september 2004 - 19:20 #18
Prøv og erstat

... AND [topic] = true

med

... AND [topic]
Avatar billede fun22 Nybegynder
20. september 2004 - 19:38 #19
arhh.. Det var selvfølgelig mig den var gal med.. havde opdateret navnet i en kolonne i databasen og ikke fået det rettet i scriptet.. så eagleeye svare du lige??

til jer andre... undskyld besværet...
Avatar billede eagleeye Praktikant
20. september 2004 - 19:42 #20
Ok ;)
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