Avatar billede krogge Nybegynder
23. april 2004 - 11:14 Der er 11 kommentarer og
1 løsning

Fejl ved søgning

Jeg får denne fejl ved søgning i en accessdatabase :

Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var ventet 6.
/kunstner/sogefterx.asp, line 145

line 145 ser sådan ud

Set rs = myConn.Execute(strSQL)

Hvad er der galt ?
Avatar billede fennec Nybegynder
23. april 2004 - 11:17 #1
hvad indeholder din strSQL?
Avatar billede nmh Nybegynder
23. april 2004 - 11:18 #2
Prøv lige at vise din sql-streng her.
Avatar billede krogge Nybegynder
23. april 2004 - 11:19 #3
<%
' Henter værdien fra sogefter.htm
strKeyword = Trim(Request.Form("Keyword"))

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

' Opbygger en dynamisk SQL streng
strSQL = "SELECT KunstnerID, K-Navn, K-Kontaktperson, K-Adresse, K-PostNr, K-By, Telefon1, Telefon2, Fax, AntalPers, Genre, Spilletid, PrisPrivat, PrisKlub, PrisFirma, Bureau, BureauTlf, Agent, Email, Web, URL, Andet FROM Kunstner WHERE"
strSQL = strSQL & " (K-Navn LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (K-Kontaktperson LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (K-Adresse LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (K-PostNr LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (K-By LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Telefon1 LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Telefon2 LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Fax LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (AntalPers LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Genre LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Spilletid LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (PrisPrivat LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (PrisKlub LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (PrisFirma LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Bureau LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (BureauTlf LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Agent LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Email LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Web LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (URL LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Andet LIKE '%" & strKeyword & "%')"


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

' Skaber et recordset udfra SQL strengen
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>"
    Response.Write "<tr><th>Navn</th><th>Kontaktperson</th><th>Adresse</th><th>By</th><th>Postnr</th><th>Tlf</th><th>Mob</th><th>Fax</th><th>Antalpers</th><th>Genre</th><th>Spilletid</th><th>Privat</th><th>Klub</th><th>Firma</th><th>Bureau</th><th>Bureautlf</th><th>Agent</th><th>Email</th><th>Web</th><th>URL</th><th>Andet</th></tr>"
   
    Do While Not rs.EOF
        Response.Write "<tr><td><a href=""" & rs("URL") & """target=_blank>"& rs("K-Navn") & "</a></td>"
        Response.Write "<td>" & rs("K-Kontaktperson") & "</td>"
        Response.Write "<td>" & rs("K-Adresse") & "</td>"
        Response.Write "<td>" & rs("K-PostNr") & "</td>"
        Response.Write "<td>" & rs("K-By") & "</td>"
        Response.Write "<td>" & rs("Telefon1") & "</td>"
        Response.Write "<td>" & rs("Telefon2") & "</td>"
        Response.Write "<td>" & rs("Fax") & "</td>"
        Response.Write "<td>" & rs("Antalpers") & "</td>"
        Response.Write "<td>" & rs("Genre") & "</td>"
        Response.Write "<td>" & rs("Spilletid") & "</td>"
        Response.Write "<td>" & rs("PrisPrivat") & "</td>"
        Response.Write "<td>" & rs("PrisKlub") & "</td>"
        Response.Write "<td>" & rs("PrisFirma") & "</td>"
        Response.Write "<td>" & rs("Bureau") & "</td>"
        Response.Write "<td>" & rs("BureauTlf") & "</td>"
        Response.Write "<td>" & rs("Agent") & "</td>"
        Response.Write "<td><a href=""mailto:" & rs("Email") & """>"& rs("Email") & "</a></td>"
        Response.Write "<td><a href=""" & rs("Web") & """target=_blank>"& rs("Web") & "</a></td>"
        Response.Write "<td>" & rs("Andet") & "</td>"


        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
%>
Avatar billede fennec Nybegynder
23. april 2004 - 11:24 #4
vis os det genereret indhold:
...
response.write strSQL
Set rs = myConn.Execute(strSQL)
...
Avatar billede fennec Nybegynder
23. april 2004 - 11:28 #5
det kan være fordi du selecter et felt som ikke eksistere. Prøv lige at tjekke at du har skrev dem rigtigt. Eller helt undgå det og selecte alle felter:

strSQL = "SELECT * FROM Kunstner WHERE"
strSQL = strSQL & " (K-Navn LIKE '%" & strKeyword & "%')"
...
...
Avatar billede krogge Nybegynder
23. april 2004 - 11:28 #6
hvad mener du ... jeg kan jo ikke få genereret noget !
Avatar billede fennec Nybegynder
23. april 2004 - 11:33 #7
Hvis du laver en response.write på strSQL, skulle du gerne få din SQL streng skevet ud. Så kan man ofte nemmere se hvor den fejler....
Avatar billede krogge Nybegynder
23. april 2004 - 11:53 #8
der manglede en enkelt, men burde man ikke bare kunne vælge de oplysninger man gerne vil ha vist ? nu kommer følgende fejl :
Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var ventet 7.
/kunstner/sogefterx.asp, line 146
Avatar billede fennec Nybegynder
23. april 2004 - 12:04 #9
man kan godt selecte dem enkeltvis, man hvis du har skrevet forkert kan den fejl fremkomme. Nu selectede du så mange felter, at jeg gik ud fra, at der ikke var mange, som du ikke trak ud.

Det kan også være fordi nogle af navnene er reserveret. Prøv med denne:

strSQL = "SELECT * FROM Kunstner WHERE"
strSQL = strSQL & " ([K-Navn] LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR ([K-Kontaktperson] LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR ([K-Adresse] LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR ([K-PostNr] LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR ([K-By] LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR ([Telefon1] LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR ([Telefon2] LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR ([Fax] LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR ([AntalPers] LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR ([Genre] LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR ([Spilletid] LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR ([PrisPrivat] LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR ([PrisKlub] LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR ([PrisFirma] LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR ([Bureau] LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR ([BureauTlf] LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR ([Agent] LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR ([Email] LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR ([Web] LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR ([URL] LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR ([Andet] LIKE '%" & strKeyword & "%')"
Avatar billede krogge Nybegynder
23. april 2004 - 12:11 #10
det virkede ... mange tak for det. Smid et svar
Avatar billede fennec Nybegynder
23. april 2004 - 12:12 #11
kommer her...
Avatar billede krogge Nybegynder
23. april 2004 - 12:21 #12
værsgo
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