---
title: "Sökning i flera fält och med flera söksträngar"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/99184-sökning-i-flera-fält-och-med-flera-söksträngar"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "rust"
published: "2004-03-10T20:07:14.000Z"
updated: "2004-03-10T21:05:39.000Z"
replies: 4
views: 428
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/99184-sökning-i-flera-fält-och-med-flera-söksträngar"
---

# Sökning i flera fält och med flera söksträngar

## #1 — rust, 2004-03-10T20:07Z

Har en databas där det finns ett fält för efternamn och ett för förnamnet. på söksidan finns ett formulär(get) med två textrutor, en för förnamn och efternamn. det funkar bra om man fyller i den översta av rutorna (förnamn), fyller man i båda funkar det oxå. fyller man dock bara i efternamn får den inga träffar.

Slutgiltligen, så länge Request.Querystring("fornamn") innehåller något form av tecken så fungerar det utmärkt, inte annars.

```

dbSearch = "SELECT * FROM register WHERE fornamn LIKE '%" & Replace(Request.Querystring("fornamn"),"'","''") & "%' AND efternamn LIKE '%" & Replace(Request.Querystring("efternamn"),"'","''") & "%'"
```

Hoppas nån som är lite bra på det här kan hjälpa till, och kanske kan förklara varför det blir som det blir... =)

Permalänk: https://www.webforum.nu/p/99184

## #2 — LarsG, 2004-03-10T20:22Z

Jag ser inget fel i SQL-satsen som sådan. Det jag kan tänka mig är att det finns något skräp i din querystring. Testa med att skriva ut den färdiga sql-frågan innan den utförs

```
dbSearch = "SELECT * FROM register WHERE fornamn LIKE '%" & Replace(Request.Querystring("fornamn"),"'","''") & "%' AND efternamn LIKE '%" & Replace(Request.Querystring("efternamn"),"'","''") & "%'" 
response.write "SQL:" & dbsearch 
response.end
```

Permalänk: https://www.webforum.nu/p/1295477

## #3 — rust, 2004-03-10T20:33Z

Ok, testade det.

Fyller jag i båda fälten, förnamn=ma efternamn=see:

SQL:SELECT \* FROM register WHERE fornamn LIKE '%ma%' AND efternamn LIKE '%see%'

endast förnamn:
SQL:SELECT \* FROM register WHERE fornamn LIKE '%ma%' AND efternamn LIKE '%%'

endast efternamn:
Då skrivs det inte ut ett endaste dugg...likaså om jag lämnar båda fälten tomma.

Permalänk: https://www.webforum.nu/p/1295488

## #4 — LarsG, 2004-03-10T20:42Z

> Då skrivs det inte ut ett endaste dugg

Menar du att det inte kommer något resultat från databasen eller att du inte får ut någon text med

SQL: \<någon text\>

?

Om det är det första så begriper jag inte alls däremot om det är det andra så indikerar det att det är något i din ASP-kod som är fel. I så fall får du posta mer av den.

Permalänk: https://www.webforum.nu/p/1295493

## #5 — rust, 2004-03-10T21:05Z

Nu blev det lite pinsamt, hehe....klantig som man är...

har drabbats av kod-blindhet..

innan hade jag bara ett fält att fylla i, förnamn.  och hade därför lagt in en if sats som gjorde att hela databas-joxet skulle hoppas över om man inte sökt på något, med andra ord om fornamn  var tomt.

aj-aj...ursäkta ursäkta.. :)

nu fungerar det iaf som det ska!

Permalänk: https://www.webforum.nu/p/1295509

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/99184-sökning-i-flera-fält-och-med-flera-söksträngar
