Avatar billede nythjem Nybegynder
23. december 2004 - 13:42 Der er 15 kommentarer og
1 løsning

Too few parameters.. Hmm..

Hej Alle!

Jeg har en side med understående kode. Det sker sjældent, men ind i mellem fremkommer denne meddelelse:

Microsoft OLE DB Provider for ODBC Drivers error "80040e10"
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

Hvad sker der? Hvad kan jeg gøre for at forbedre koden, og derved undgå fejlen.


På forhånd tak..

<%
Response.Buffer = True

Set Con = Server.CreateObject("ADODB.Connection")
DBPath = "DBQ=" & server.mappath("../../database/database.mdb")
Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath

SQL = "Select top 2 * From skabeloner order by id desc"
Set Record =  Con.Execute(Sql)

If Record.EOF Then

Response.Write "Ingen filer i databasen!"

Else

Do while Not Record.EOF

Response.Write Record("post")

Record.MoveNext
Loop

End If

Con.Close
Set Con = Nothing
%>
Avatar billede sw_red_6 Nybegynder
23. december 2004 - 13:47 #1
øhh den sql er vidst helt forkert. hvad er top 2 ?
Avatar billede nythjem Nybegynder
23. december 2004 - 13:48 #2
?

Du har en række poster, og vælger de to sidste.. Top 2, order by id desc..
Avatar billede sw_red_6 Nybegynder
23. december 2004 - 13:54 #3
ah har ikke lige set det før derfor jeg spurgte. Det kan ikke være fordi der står Sql i Con.Execute(Sql)?
Avatar billede nythjem Nybegynder
23. december 2004 - 13:56 #4
Hej Sw Red..

Jeg værdsætter, at du forsøger, men jeg har oprettet spørgsmålet for at få svar, ikke gisninger :)

God jul..
Avatar billede sw_red_6 Nybegynder
23. december 2004 - 13:59 #5
fair nok. Er der noget mønster i hvornår den fejler?
Avatar billede sw_red_6 Nybegynder
23. december 2004 - 14:01 #6
måske det her kan hjælpe. Jeg ved det jeg er fuld af gisninger men sådan er det bare. *<;)
http://support.microsoft.com/default.aspx?scid=kb;en-us;216425
Avatar billede nythjem Nybegynder
23. december 2004 - 14:01 #7
Nej det er da ikke.. Men jeg får fejlen cirka en gang hver 100 udtræk.. Lidt underligt..

Har selv overvejet om det kunne være, at den i nogle sekunder ikke kan connecte til serveren imens den er i gang med udtrækket, men det ved jeg jo intet om :)
Avatar billede goose Nybegynder
23. december 2004 - 14:23 #8
Kan det tænkes, at det sker hvis der nu ikke er 2 records i databasen ?

Du vælger top 2, altså 2 records.

Herefter checker du for om der findes nogle records, men ikke hvor mange.

/Goose
Avatar billede a1a1 Novice
23. december 2004 - 14:29 #9
du skal også huske at lukke dit recordset: Record.Close og Set Record = Nothing (før con.Close)

Prøv :o)
(kvalificeret gæt)

;O)
Avatar billede a1a1 Novice
23. december 2004 - 14:37 #10
--> goose do while not Record.EOF (End Of File)
Avatar billede a1a1 Novice
23. december 2004 - 14:38 #11
så om der er 1 eller 100 er det lige meget
Avatar billede goose Nybegynder
23. december 2004 - 14:40 #12
a1 >> ja, min fejl :o/

/Goose
Avatar billede nythjem Nybegynder
23. december 2004 - 15:21 #13
Hmm.. Det kunne tænkes, at du havde ret a1 :)

Jeg vil prøve at kigge nærmere på det.. Melder lige tilbage.. :)
Avatar billede nythjem Nybegynder
23. december 2004 - 16:44 #14
Tja, jeg får ingen fejl, så a1, gider du ligge et svar? Og tak for svaret..

Jeg tænkte, er der egentlig nogen måde jeg kan kontrollere om der er adgang til databasen? Evt. via..

If Con = True Then
Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
Else
Response.Write "Der er ikke adgang"
End If

??
Avatar billede nythjem Nybegynder
19. januar 2005 - 17:48 #15
Jeg havde håbet lidt på, at du havde svaret a1, men nu lukker jeg :)
Avatar billede a1a1 Novice
19. januar 2005 - 18:07 #16
jeg er ikke så hurtig, men det går vel nok...

;o)
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