/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
hvad er der galt - revisited...
Fra : ph


Dato : 04-04-02 16:58

For at følge op på "hvad er der galt" poster jeg her list mere uddybende
omkring enmet.
Jeg er ved at lave en søgeside i asp. Jeg har fundet den på
www.activeserverpages.dk

jeg får denne fejlmeddelelse:

SELECT ID, navn, format, label, katalognummer, land, aarstal, beskrivelse
FROM names WHERE (navn LIKE '%anders%') OR (format LIKE '%anders%') OR
(label LIKE '%anders%') OR (katalognummer LIKE '%anders%') OR (land LIKE
'%anders%') OR (aarstal LIKE '%anders%') OR (beskrivelse LIKE '%anders%')
Microsoft OLE DB Provider for ODBC Drivers fejl '80040e10'

[Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var
ventet 1.

/search.asp, linje 36


Sådan ser min kode ud (på search.asp der findes også en search.htm men jeg
går ikke
ud fra at den behøves):

<% Response.Buffer = True %>
<html><head>
<title>Søgeresultat</title>
</head><body>

<%
' Henter værdien fra search.htm
strKeyword = Trim(Request.Form("Keyword"))

If Len(strKeyword) = 0 Then
' Hvis der ikke er skrevet i feltet
Response.Clear
Response.Redirect("search.htm")
Else
' Hvis der er skrevet i feltet
strKeyword = Replace(strKeyword,"'","''")
End If

' Opbygger en dynamisk SQL streng
strSQL = "SELECT ID, navn, format, label, katalognummer, land, aarstal,
beskrivelse FROM names WHERE"
strSQL = strSQL & " (navn LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (format LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (label LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (katalognummer LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (land LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (aarstal LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (beskrivelse LIKE '%" & strKeyword & "%')"

' Skaber DSNLess forbindelse til DBen
strDSN = "DRIVER={Microsoft Access Driver
(*.mdb)};DBQ="&Server.MapPath("odbc_exmp.mdb")
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN

' Skaber et recordset udfra SQL strengen
Response.Write( strSQL )
Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
' Hvis der er fundet poster på søgningen
Response.Write "<p>Søgeresultat</p>"
Response.Write "<table border=1>"
Response.Write
"<tr><th>Navn</th><th>format</th><th>label</th><th>katalognummer</th><th>lan
d</th><th>aarstal</th><th>Beskrivelse</th></tr>"
Do While Not rs.EOF
Response.Write "<tr><td>" & rs("navn") & "</td>"
Response.Write "<td>" & rs("format") & "</td>"
Response.Write "<td>" & rs("label") & "</td>"
Response.Write "<td>" & rs("katalognummer") & "</td>"
Response.Write "<td>" & rs("land") & "</td>"
Response.Write "<td>" & rs("aarstal") & "</td>"
Response.Write "<td>" & rs("Beskrivelse") & "</td></tr>"
rs.MoveNext
Loop
Response.Write "</table>"
Else
' Hvis der ikke er fundet poster på søgningen
Response.Write "<p>Der er ikke fundet noget på denne søgning</p>"
End If

' Rydder op efter os
myConn.Close
Set myConn = Nothing
%>

</body></html>





 
 
OZ (04-04-2002)
Kommentar
Fra : OZ


Dato : 04-04-02 18:29

"ph" <gfgds@yahoo.com> skrev:

> SELECT ID, navn, format, label, katalognummer, land, aarstal, beskrivelse
> FROM names WHERE (navn LIKE '%anders%') OR (format LIKE '%anders%') OR
> (label LIKE '%anders%') OR (katalognummer LIKE '%anders%') OR (land LIKE
> '%anders%') OR (aarstal LIKE '%anders%') OR (beskrivelse LIKE '%anders%')
> Microsoft OLE DB Provider for ODBC Drivers fejl '80040e10'
>
> [Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var
> ventet 1.


Prøv at se dette link hos Microsoft måske det kan hjælpe lidt på det.

http://support.microsoft.com/directory/article.asp?ID=KB;EN-US;Q216425&

Det tyder på at du kalder noget der ikke ligger i din tabel "names"

Held og lykke =)

oz



Tumlehund (05-04-2002)
Kommentar
Fra : Tumlehund


Dato : 05-04-02 12:00


"ph" <gfgds@yahoo.com> wrote in message
news:a8ht7e$2uet$1@news.cybercity.dk...
> For at følge op på "hvad er der galt" poster jeg her list mere uddybende
> omkring enmet.
> Jeg er ved at lave en søgeside i asp. Jeg har fundet den på
> www.activeserverpages.dk
>
> jeg får denne fejlmeddelelse:
>
> SELECT ID, navn, format, label, katalognummer, land, aarstal, beskrivelse
> FROM names WHERE (navn LIKE '%anders%') OR (format LIKE '%anders%') OR
> (label LIKE '%anders%') OR (katalognummer LIKE '%anders%') OR (land LIKE
> '%anders%') OR (aarstal LIKE '%anders%') OR (beskrivelse LIKE '%anders%')
> Microsoft OLE DB Provider for ODBC Drivers fejl '80040e10'
>
> [Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var
> ventet 1.
>
> /search.asp, linje 36

Måske er der nogle af dine navn der er reserverede ord? Hvad med format og
label?

Prøv at sætte [] omkring...?



ph (07-04-2002)
Kommentar
Fra : ph


Dato : 07-04-02 15:57

format og label er ikke reseverede. Jeg har fået tabellen frem i almindelig
visning på en asp side. Det er altså denne her søge side der ikke duer.


"Tumlehund" <patriot@sol.dk> wrote in message
news:3cad83ce$0$78749$edfadb0f@dspool01.news.tele.dk...
>
> "ph" <gfgds@yahoo.com> wrote in message
> news:a8ht7e$2uet$1@news.cybercity.dk...
> > For at følge op på "hvad er der galt" poster jeg her list mere uddybende
> > omkring enmet.
> > Jeg er ved at lave en søgeside i asp. Jeg har fundet den på
> > www.activeserverpages.dk
> >
> > jeg får denne fejlmeddelelse:
> >
> > SELECT ID, navn, format, label, katalognummer, land, aarstal,
beskrivelse
> > FROM names WHERE (navn LIKE '%anders%') OR (format LIKE '%anders%') OR
> > (label LIKE '%anders%') OR (katalognummer LIKE '%anders%') OR (land LIKE
> > '%anders%') OR (aarstal LIKE '%anders%') OR (beskrivelse LIKE
'%anders%')
> > Microsoft OLE DB Provider for ODBC Drivers fejl '80040e10'
> >
> > [Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der
var
> > ventet 1.
> >
> > /search.asp, linje 36
>
> Måske er der nogle af dine navn der er reserverede ord? Hvad med format og
> label?
>
> Prøv at sætte [] omkring...?
>
>



Jørn Andersen (07-04-2002)
Kommentar
Fra : Jørn Andersen


Dato : 07-04-02 17:19

On Thu, 4 Apr 2002 17:58:24 +0200, "ph" <gfgds@yahoo.com> wrote:

>jeg får denne fejlmeddelelse:
>
>SELECT ID, navn, format, label, katalognummer, land, aarstal, beskrivelse
>FROM names WHERE (navn LIKE '%anders%') OR (format LIKE '%anders%') OR
>(label LIKE '%anders%') OR (katalognummer LIKE '%anders%') OR (land LIKE
>'%anders%') OR (aarstal LIKE '%anders%') OR (beskrivelse LIKE '%anders%')
>Microsoft OLE DB Provider for ODBC Drivers fejl '80040e10'
>
>[Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var
>ventet 1.

Hvis du kigger på:

<URL: http://www.aspfaq.com/plain.asp?id=2128>

så siger den, at fejlmeddelelsen med for få parametre skyldes:

1. A field name was spelled incorrectly.
2. One or more of the values was blank.
3. You tried to insert the wrong datatype (e.g. surrounded a numeric
value with quotes).

Pkt. 1 har du sikkert checket 7 gange :)
Pkt. 2 ser heller ikke ud til at passe her - men kan checkes ved at
udskrive SQL-strengen.

Men hvad med pkt. 3?
Er alle dine felter af typen "tekst"?
Hvis det er tal, skal der ikke anførselstegn omkring (og du kan ikke
bruge LIKE).

Hvis det heller ikke fører til noget, så er her måske et par hints, du
kan forfølge:
Hvad sker der, hvis du fjerner paranteserne (de er egentlig
unødvendige)?
Er feltet beskrivelse af typen Tekst eller typen Notat? Hvis det er
Notat, så prøv at udelade feltet i din WHERE-streng.

Prøv i det hele taget at "isolere" fejlen ved fx at indskrænke
antallet af felterne, du vil søge på - start evt. med kun et enkelt
felt og tilføj så efterhånden.
Så finder du forhåbentlig ud af, hvem synderen er og har så meget
lettere ved at finde ud af den præcise fejl.

>/search.asp, linje 36

Går du fra, at linie 36 er:

>Set rs = myConn.Execute(strSQL)

- ?


Good luck,
Jørn


--
Jørn Andersen,
Brønshøj

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408942
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste