Avatar billede jmc Nybegynder
27. maj 2002 - 13:44 Der er 16 kommentarer og
1 løsning

Too few parameters. Expected 1.

Hvad kan denne fejl skyldes?

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

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

/, line 31 (som er: set adoRs = MM_ordbog_STRING.Execute(strSQL))


KODEN

if Request.QueryString("action") = "save" then

    intDocumentID = Request("ord")
    strTitle = Request.Form("txtTitle")
    strContent = Request.Form("txtContent")
   
    strSQL = "Update ordbog set tekst = '" & replace(strTitle,"'","''") & "', ord='" & replace(strContent,"'","''") & "' where ord=" & intDocumentID
   
    MM_ordbog_STRING.Execute strSQL
   
    Response.Redirect "index.asp"
else
    intDocumentID = Request.QueryString("ord")
   
    dim adoRs
    set adoRs = Server.CreateObject("ADODB.Recordset")
    strSQL = "Select * From ordbog where ord=" & intDocumentID
    response.write MM_ordbog_STRING.Execute(strSQL)
    set adoRs = MM_ordbog_STRING.Execute(strSQL)
    If not adoRs.EOF then
        strTitle = adoRs("ord")
        strContent = adoRs("tekst")
    End If
    adoRs.Close
    set adoRs = nothing
end if
Avatar billede erikjacobsen Ekspert
27. maj 2002 - 14:04 #1
intDocumentID er tom
Avatar billede jmc Nybegynder
27. maj 2002 - 14:12 #2
intDocumentID sættes med Request("ord")og den er ikke tom.
jeg forstår slet ikke at den laver fejl her da Request(action) ikke er save hvor dokumentet kaldes.
if Request.QueryString("action") = "save" then
Avatar billede -mundi- Nybegynder
27. maj 2002 - 14:16 #3
du har da execute statements begge steder ? Skriv din sql streng ud så vil du sikkert få svar på dit eget spg -)

response.write strSQL
response.end
Avatar billede cbp Nybegynder
27. maj 2002 - 14:18 #4
Det er som regel fordi et af felt-navnene er forkert. Tjek i databasen om felterne virkelig hedder tekst og ord.
Avatar billede erikjacobsen Ekspert
27. maj 2002 - 14:20 #5
Den sættes ikke med Request("ord") men med
intDocumentID = Request.QueryString("ord")
Avatar billede jmc Nybegynder
27. maj 2002 - 14:22 #6
øv,
de hedder ord og tekst - det tyder på en anden fejl.
Avatar billede jmc Nybegynder
27. maj 2002 - 14:28 #7
den giver sammen fejl om jeg skriver ord=et_eller_andet eller lader den stå helt tom i urlén
Avatar billede cbp Nybegynder
27. maj 2002 - 14:41 #8
Hov, ja det er selvfølgelig fordi du mangler at sætte ' om data :

strSQL = "Update ordbog set tekst = '" & replace(strTitle,"'","''") & "', ord='" & replace(strContent,"'","''") & "' where ord='" & intDocumentID & "'"
Avatar billede jmc Nybegynder
28. maj 2002 - 11:38 #9
Hvorfor skal det altid gå ud over mig? (jeg er endnu ikke for klog på ASP)
stadigt:
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
line 34

linie 34 er:     set adoRs = MM_ordbog_STRING.Execute(strSQL)

jeg har fundet:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q216425
som siger:
CAUSE
This error occurs only with Microsoft Access when one of the column names specified in a select statement does not exist in the table being queried.

Men den findes..... ???? øv. tre dage med fejlfinding på noget så elementært. Jeg håber at der stadigt er et bud.
Avatar billede jmc Nybegynder
28. maj 2002 - 11:41 #10
her står at man skal passe på at bruge where i sql....
http://www.mvps.org/access/queries/qry0013.htm
Avatar billede cbp Nybegynder
28. maj 2002 - 11:57 #11
Har du rettet SQL'en så du sætter plinger omkring intDocumentID som jeg foreslog i mit seneste svar?
Avatar billede jmc Nybegynder
28. maj 2002 - 12:00 #12
yeps, her er nuværende kode

<%
dim intDocumentID
dim strTitle
dim strContent

dim MM_ordbog_STRING
dim strSQL
'set MM_ordbog_STRING = Server.CreateObject("ADODB.Connection")
'MM_ordbog_STRING.Open strConn

if Request.QueryString("action") = "save" then

    intDocumentID = Request("ord")
    strTitle = Request.Form("txtTitle")
    strContent = Request.Form("txtContent")
    response.write (intDocumentID)
   
    strSQL = "Update ordbog set tekst = '" & replace(strTitle,"'","''") & "', ord='" & replace(strContent,"'","''") & "' where ord='" & intDocumentID & "'"
   
    MM_ordbog_STRING.Execute strSQL
   
    Response.Redirect "index.asp"
else
    intDocumentID = Request.QueryString("ord")
   
    dim adoRs
    set adoRs = Server.CreateObject("ADODB.Recordset")
    strSQL = "Select * From ordbog where ord=" & intDocumentID
   
    set adoRs = MM_ordbog_STRING.Execute(strSQL)
    If not adoRs.EOF then
        strTitle = adoRs("ord")
        strContent = adoRs("tekst")
    End If
    adoRs.Close
    set adoRs = nothing
end if

MM_ordbog_STRING.Close
set MM_ordbog_STRING = nothing
%>


hvis jeg slår disse fra:
set MM_ordbog_STRING = Server.CreateObject("ADODB.Connection")
MM_ordbog_STRING.Open strCon

for jeg fejlen:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Driver Manager] Datakildenavnet blev ikke fundet, og der er ikke angivet en standarddriver.

/ordbog_edit.asp, line 12
Avatar billede jmc Nybegynder
28. maj 2002 - 12:20 #13
jeg har rette lidt mere til men får stadigt den samme fejl:

<%
dim intDocumentID
dim strTitle
dim strContent

dim adoCn
dim strSQL
set adoCn = Server.CreateObject("ADODB.Connection")
adoCn.Open MM_ordbog_STRING

if Request.QueryString("action") = "save" then

    intDocumentID = Request("ord")
    strTitle = Request.Form("txtTitle")
    strContent = Request.Form("txtContent")
    response.write (intDocumentID)
   
    strSQL = "Update ordbog set tekst = '" & replace(strTitle,"'","''") & "', ord='" & replace(strContent,"'","''") & "' where ord='" & intDocumentID & "'"
   
    adoCn.Execute strSQL
   
    Response.Redirect "index.asp"
else
    intDocumentID = Request.QueryString("ord")
   
    dim adoRs
    set adoRs = Server.CreateObject("ADODB.Recordset")
    strSQL = "Select * From ordbog where ord=" & intDocumentID
   
    set adoRs = adoCn.Execute(strSQL)
    If not adoRs.EOF then
        strTitle = adoRs("ord")
        strContent = adoRs("tekst")
    End If
    adoRs.Close
    set adoRs = nothing
end if

adoCn.Close
set adoCn = nothing
%>
Avatar billede erikjacobsen Ekspert
28. maj 2002 - 12:23 #14
du har ikke rettet i

strSQL = "Select * From ordbog where ord=" & intDocumentID
Avatar billede jmc Nybegynder
28. maj 2002 - 13:05 #15
også der, bingo og tak
Avatar billede jmc Nybegynder
28. maj 2002 - 13:50 #16
at min iframe nu er tom og jeg ikke har noget som helst clue er et nyt problem som sikkert har med '" & intDocumentID & "'" at gøre men jeg kan slet ikke overskue at formulere et spørgsmål. Jeg må ud og finde en i byen so mkan hjælpe. Jeg benytter YusASP web-based content editor
Avatar billede jmc Nybegynder
28. maj 2002 - 14:16 #17
Jeg takker mange gange - jeg har fundet fejlen.
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