Avatar billede dan_n Nybegynder
01. april 2003 - 11:21 Der er 9 kommentarer og
1 løsning

database udtræks fejl "Der er for få parametre"

Hej

Jeg laver en side med et ellers simpel database udtræk, men af en eller anden årsag virker det ikke. Når jeg går ind på siden får jeg følgende fejlmeddelse:

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

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

Hvad skyldes denne fejl (forkerte ado konstanter ?) og hvordan kan det løses:

Koder ser således ud:
########################################################
Dim objRsSites    
Dim site_id   
Dim strSQL


site_id = request("site_id")

' Connection objektet er includeret i gennem filne login.asp -> Connect.inc
    Set objConn = Server.CreateObject("ADODB.Connection")
   
' SQL strengen defineres
    strSQL= "SELECT * FROM sites WHERE (site_name = " & site_id &" ) "

    ' Definere et recordset, og uføre sql strengen
    Set objRsSites = Server.CreateObject("ADODB.Recordset")
    objRsSites.Open strSQL, strConnect, 1,2

   
    While NOT objRsSites.EOF
        response.write "Test"
    objRsSites.MoveNext
    Wend
       

'Oprydning hvor database objekterne slettes
  objConn.Close
  objRsSites.Close
  set objRsSites = Nothing
  Set objConn = Nothing
########################################################

på forhånd tak
/Dan
Avatar billede chivato Nybegynder
01. april 2003 - 11:36 #1
Prøv med denne sql streng :

' SQL strengen defineres
    strSQL= "SELECT * FROM sites WHERE site_name = " & site_id

Chivato
Avatar billede dk_akj Nybegynder
01. april 2003 - 11:40 #2
strSQL= "SELECT * FROM sites WHERE site_name = '" & site_id &"'"

//akj
Avatar billede dan_n Nybegynder
01. april 2003 - 11:44 #3
Jeg får stadigvæk den sammen fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

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

display.asp, line 32
Avatar billede dk_akj Nybegynder
01. april 2003 - 11:45 #4
site_id = request("site_id") går ikke.

enten site_id = request.form("site_id") eller
site_id = request.querystring("site_id")

//akj
Avatar billede dan_n Nybegynder
01. april 2003 - 11:45 #5
Takker dk_akj

Men hvilke paramentre er det der mangler i min connection ?
Avatar billede dk_akj Nybegynder
01. april 2003 - 11:47 #6
Øhh.. nu forstår jeg ikke helt hvad du mener

//akj
Avatar billede dan_n Nybegynder
01. april 2003 - 11:50 #7
Jeg har ændret mit script til det du skrev og det virker !

Jeg vil dog gerne vide hvad der var forkert ved min oprindelige script.
fejlmeddelsen lyder:

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

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

Hvilke paramenter er det jeg ikke har angivet værdien af eller ikke har med ?
Avatar billede dk_akj Nybegynder
01. april 2003 - 11:55 #8
1:  Variablen site_id bliv ikke tildelt en værdi.
2:  strSQL= "SELECT * FROM sites WHERE site_name = " & site_id rettede jeg til
strSQL= "SELECT * FROM sites WHERE site_name = '" & site_id & "'" da sitename jo er en streng (at dømme efter navnet) så skal argumentet være omkranset af enkeltplinger. StrSql bliver så: SELECT * FROM sites WHERE site_name = 'hvor'
Uden vil den være: SELECT * FROM sites WHERE site_name = hvor og så er det access klager sig da den ikke kender variablen hvor

Er du med ??

//akj
Avatar billede dan_n Nybegynder
01. april 2003 - 11:57 #9
Nu er jeg med !
Takker endnu engang
Avatar billede dk_akj Nybegynder
01. april 2003 - 12:06 #10
Det var godt.

Tak for pts.

//akj
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