Avatar billede chris96 Nybegynder
30. juni 2005 - 00:53 Der er 10 kommentarer og
1 løsning

Too few parameters. Expected 1.

Sikkert basalt... men hvad er det... fejlmeddelelsen er:

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

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/kampe_test.asp, line 227

Linien er:
strSQL = "Select modstanderfornavn, modstanderefternavn, modstanderscoretid FROM modstandere MS INNER JOIN modstandermaal MM ON MS.modstanderid = MM.maalscorerid WHERE (MM.kampreference = " & strViskamp & ")"

Lige kort for inden kører jeg en lignende SQL-sætning som kører fint... den hedder:
strSQL = "Select spillerfornavn, spillerefternavn, aabscoretid FROM aabscore AA INNER JOIN spillerbase SB ON AA.maalscore = SB.spillerid WHERE (AA.kampreference = " & strViskamp & ")"

De kollonner i db'en som de skal hente fra er begge "tal" værdier - og værdien strViskamp er en integer!

Måske er jeg bare for søvnig...

På forhånd tak
Christian
Avatar billede netro Nybegynder
30. juni 2005 - 01:00 #1
Prøv at tjekke at dine navne er korrekte.
Avatar billede netro Nybegynder
30. juni 2005 - 01:02 #2
maalscorerid -> maalscoreid?
Avatar billede chris96 Nybegynder
30. juni 2005 - 01:03 #3
Jeg har såmænd været inde i databasen - og lave en copy paste på samtlige kolonner, som jeg henter, så jeg er rimelig sikker på, det ikke er det!
Avatar billede chris96 Nybegynder
30. juni 2005 - 01:04 #4
Hehe... det er maalscorerid... første gang jeg kørte den kome den Too few parameters. Expected 2. - da var det r'et i maalscorerid, der manglede!
Avatar billede netro Nybegynder
30. juni 2005 - 01:06 #5
Ok!

Expected 1 fortæller, at ét feltnavn i SQL-forespørgslen ikke matcher nogle i databasen. Expected 2 fortæller, at to feltnavne ikke matcher.
Avatar billede netro Nybegynder
30. juni 2005 - 01:07 #6
Virker det så nu?
Avatar billede thesurfer Nybegynder
30. juni 2005 - 01:17 #7
Jeg er 99.9% sikker på, at variablen strViskamp er tom..

Og et hint: "str" forkortelsen (eller "prefix", hvis man vil bruge fine ord) står for String. Strenge skal indkaples i '-tegn:

... = '" & strViskamp & "')"

Hvis indholdet af variablen er et tal, skulle den have heddet intViskamp, da int står for Integer (helt tal).

/theSurfer
Avatar billede thesurfer Nybegynder
30. juni 2005 - 01:19 #8
PS: Hvis du vil se om variablen er tom, kan du bruge den gode gamle:

response.write "*" & strViskamp & "*".

Hvis den bare skriver "**", er variablen tom.

Hint:
Indsæt Response.Buffer = False i toppen af dit document (under Option Explicit, hvis du bruger det).. og du skal naturligvis indsætte "response..."-linien inden strSQL-linierne..

/theSurfer
Avatar billede chris96 Nybegynder
30. juni 2005 - 01:21 #9
Att: thesurfer!
Hvis det var tilfældet - at det er en string frem for en integer, så vil den vel komme med en syntax error i stedet... Men du har ret i at det er en string, som jeg dog laver om til integer på et tidspunkt...

Netro - Ja, som du sagde, så var der en variabel, der ikke passede til DB'en! Det var en af de første jeg henter hjem "modstanderscoretid" skulle være "modscoretid", så du havde ret!
Jeg fokuserede bare alt på de bagerste statesments i min FROM clause!

Et bette svar Netro, så får du point engang i morgen!
Avatar billede chris96 Nybegynder
30. juni 2005 - 01:24 #10
Att: thesurfer igen...
Jeg burde bruge int - for at holde styre på det...

At jeg udelukkende bruger str - foran mine variabler er nok gamle vaner!
Avatar billede netro Nybegynder
30. juni 2005 - 01:42 #11
Der er gang i den her...
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