Avatar billede rotte Nybegynder
23. januar 2002 - 15:21 Der er 5 kommentarer og
1 løsning

Søgefunktion...


Hjælp!

Jeg kan ikke få denne søgefunktion til at virke:

Man skal kunne søge på et produkt, hvorefter man får; Produktnavn, beskrivelse, kategori
samt et eller flere ikoner som er knyttet til hvert produkt....?!?

SØGEORD er: test

Løsningen burde være sådan: http://www.ecreate.dk/g1/search.htm
men her er kun én tabel og en masse null værdier, som jeg ikke vil have.

Den reviderede kan ses på http://www.ecreate.dk/g2/search.htm
men giver fejlen

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

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

/g2/search.asp, line 26

i linie 26 står: Set rs = myConn.Execute(strSQL)
men denne kalder strSQL så fejlen er i en af strSQL-sætningerne


Forklaring følger:

Der er 3 tabeller i Databasen (Access2000)

- links.....indeholder LinkID, LinkName (produktnavn), Beskrivelse, LinkURL, sogeord, gruppe

- ikonhelp..indeholder LinkID, ikonID

- ikons.....indeholder ikonID, Ikon

Databasen burde være iorden.


Problemet er SQL-sætningen som ser såden ud

strSQL = "SELECT ikonID, Ikon FROM ikons WHERE"
strSQL = "SELECT LinkID, ikonID FROM Ikonhelp WHERE"
strSQL = "SELECT LinkID, LinkName, Beskrivelse, LinkURL, LinkID, sogeord, gruppe FROM links WHERE"
strSQL = strSQL & " ikonhelp.LinkID = links.LinkID AND ikons.IkonID = ikonhelp.IkonID"
strSQL = strSQL & " AND (LinkName LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (sogeord LIKE '%" & strKeyword & "%')"

----

Response.Write...........& rs("Ikon") &.........

----

Men den retunerer IKKE hverken ikon eller resultat.

Hvis dette giver nogen mening så please hjælp..

rotte~


Avatar billede dj_alf Nybegynder
23. januar 2002 - 15:26 #1
Det der ser da helt vildt ud.

Hvis jeg har forstået det rigtigt, den bid kode der er, så vil du
få Sql-Statements som "SELECT LinkID, ikonID FROM Ikonhelp WHERE AND (LinkName LIKE '%" & strKeyword & "%').

Det vil den i hvertfald brokke sig over, kunne vi ikke få lidt mere af koden?
Avatar billede keysersoze Ekspert
23. januar 2002 - 15:30 #2
prøv engang at kik på denne; http://activedeveloper.dk/aspdigital/kapitel2/search.asp

lidt mere logisk :)
Avatar billede rotte Nybegynder
23. januar 2002 - 15:36 #3
i http://www.ecreate.dk/g1/search.htm ser koden således ud:

strSQL = "SELECT LinkID, LinkName, Beskrivelse, LinkURL, sogeord, min, min2, min3, gruppe FROM links WHERE"
strSQL = strSQL & " (LinkName LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (sogeord LIKE '%" & strKeyword & "%')"

---
Response.Write...........& rs("min") & rs("min2") & rs("min3") &....
---

men er jo ikke optimal, da der er null værdier.

hele sqlkoden(strSQL) står der, resten er bare Response.Write, vil du have den??
Avatar billede luzk Nybegynder
23. januar 2002 - 16:50 #4
jeg har ikke lige nærlæst din kode, men burde den ikke være:

strSQL = "SELECT ikonID, Ikon FROM ikons WHERE"
strSQL = strSQL & "SELECT LinkID, ikonID FROM Ikonhelp WHERE"
strSQL = strSQL & "SELECT LinkID, LinkName, Beskrivelse, LinkURL, LinkID, sogeord, gruppe FROM links WHERE"
strSQL = strSQL & " ikonhelp.LinkID = links.LinkID AND ikons.IkonID = ikonhelp.IkonID"
strSQL = strSQL & " AND (LinkName LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (sogeord LIKE '%" & strKeyword & "%')"

(har indsat 'strSQL &' i linie 1 og 2)
Avatar billede rotte Nybegynder
23. januar 2002 - 17:46 #5
Problemet er jo at der nu er tre tabeller og den skal hente text i Tabel1 (links) og et eller flere ikoner i Tabel3 (ikons), men sql sætningen kan ikke finde ud af at 'gå' over og hente fra en tredie tabel ?!?
Avatar billede rotte Nybegynder
29. januar 2002 - 18:07 #6
Problemet er selv løst ved:

strSQL = "SELECT links.LinkID, links.LinkName, links.LinkURL, links.Beskrivelse, links.gruppe, ikons.Ikon"
strSQL = strSQL & " FROM (links INNER JOIN (ikons INNER JOIN Ikonhelp ON ikons.IkonID = Ikonhelp.IkonID) ON links.LinkID = Ikonhelp.LinkID)"
strSQL = strSQL & " WHERE (LinkName LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (sogeord LIKE '%" & strKeyword & "%')"

ellers tak for respons!
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