Avatar billede canedo Nybegynder
25. januar 2002 - 10:52 Der er 13 kommentarer og
1 løsning

mangler SQL sætning

Jeg vil ha lavet en søgemaskine i mit navnekartotek, som kan finde personer ved at taste folks fulde navn. Indtil videre findes kun resultater ved at jeg enten taster fornavn ELLER efternavn ELLER mellemnavn. Hvordan kan dette script ændres, så der kan søges på både fornavn og efternavn samlet?


Query = Query & "Fornavn LIKE '%" & Request.QueryString("Soegeord") & "%' OR "
Query = Query & "Mellemnavn LIKE '%" & Request.QueryString("Soegeord") & "%' OR "
Query = Query & "Efternavn LIKE '%" & Request.QueryString("Soegeord") & "%' ORDER BY Efternavn, Fornavn"
Avatar billede Jman Praktikant
25. januar 2002 - 10:57 #1
SELECT * FROM din-db WHERE fornavn like '%" & fornavn & "%' OR mellemnavn like '%" & mellemnavn & "%'" OR efternavn like '%" & efternavn & "%'",conn,1,3
Avatar billede hirtshals Nybegynder
25. januar 2002 - 10:57 #2
Du mangler parenteser
Avatar billede hirtshals Nybegynder
25. januar 2002 - 10:58 #3
Query = Query & "(Fornavn LIKE '%" & Request.QueryString("Soegeord") & "%' OR "
Query = Query & "Mellemnavn LIKE '%" & Request.QueryString("Soegeord") & "%' OR "
Query = Query & "Efternavn LIKE '%" & Request.QueryString("Soegeord") & "%') ORDER BY Efternavn, Fornavn"
Avatar billede hirtshals Nybegynder
25. januar 2002 - 10:59 #4
Parenteserne gør at dine OR statements "sammensættes"
Avatar billede hirtshals Nybegynder
25. januar 2002 - 11:00 #5
Jeg går selvfølgelig ud fra du har flg 1. linje

Query = Query & "SELECT * FROM din-db WHERE "
Avatar billede canedo Nybegynder
25. januar 2002 - 11:04 #6
hirtshals > hvor er det mine paranteser bør være?

Query = "SELECT * FROM Databasen WHERE "
Query = Query & "Fornavn LIKE '%" & Request.QueryString("Soegeord") & "%' OR "
Query = Query & "Mellemnavn LIKE '%" & Request.QueryString("Soegeord") & "%' OR "
Query = Query & "Efternavn LIKE '%" & Request.QueryString("Soegeord") & "%' ORDER BY Efternavn, Fornavn"
Set rs = Connect.Execute (Query)
Avatar billede hirtshals Nybegynder
25. januar 2002 - 11:06 #7
( Foran Fornavn - således

(Fornavn

) Foran ORDER BY - således

) ORDER BY

Bemærk mellemrummet imellem ) og ORDER BY
Avatar billede hirtshals Nybegynder
25. januar 2002 - 11:07 #8
<!-- Klip -->

Query = Query & "(Fornavn LIKE '%" & Request.QueryString("Soegeord") & "%' OR "
Query = Query & "Mellemnavn LIKE '%" & Request.QueryString("Soegeord") & "%' OR "
Query = Query & "Efternavn LIKE '%" & Request.QueryString("Soegeord") & "%') ORDER BY Efternavn, Fornavn"

<!-- Klip Hertil -->
Avatar billede canedo Nybegynder
25. januar 2002 - 11:10 #9
den finder altså stadig ikke nogen på alle navne f.eks. Camilla Hansen. Den finder kun Camilla Hansen, hvis jeg enten søger på Camilla eller Hansen.
Avatar billede hirtshals Nybegynder
25. januar 2002 - 11:14 #10
Får du ikke værdien fra en <form>

Prøv da flg

StrSearchString = Request.form("Soegeord")

<!-- Klip -->

Query = Query & "(Fornavn LIKE '%" & StrSearchString  & "%' OR "
Query = Query & "Mellemnavn LIKE '%" & StrSearchString & "%' OR "
Query = Query & "Efternavn LIKE '%" & StrSearchString & "%') ORDER BY Efternavn, Fornavn"

<!-- Klip Hertil -->
Avatar billede canedo Nybegynder
25. januar 2002 - 11:20 #11
jo jo jeg får informationerne fra en fornular, og informationerne bliver også sendt med over til Request.QueryString("Soegeord")... jeg prøver med den metode du lige har givet - 2 sek.
Avatar billede canedo Nybegynder
25. januar 2002 - 11:23 #12
æv, det virker stadig ikke :-(
Avatar billede hirtshals Nybegynder
25. januar 2002 - 11:35 #13
Det burde altså virke

Prøv evt at downloade dette eksempel

http://activedeveloper.dk/download/default.asp?mode=showdownload&id=195

Det er altid lettere - hvis man studerer noget der virker
Avatar billede canedo Nybegynder
25. januar 2002 - 11:37 #14
okay, det gør jeg bare ... lige. Ellers må jeg jo lige belemre min lære endnu en gang *s*
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