---
title: "Söka i databas"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/13169-söka-i-databas"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "ConnyFox"
published: "2001-12-13T15:26:00.000Z"
updated: "2001-12-13T18:51:00.000Z"
replies: 18
views: 291
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/asp/13169-söka-i-databas"
---

# Söka i databas

## #1 — ConnyFox, 2001-12-13T15:26Z

Jo jag håller på med en funktion där man kan söka på medlemmarna som finns i en databas.. o jag undrar hur man gör för att i sql satsen plocka ut inläggen i tabellen nickname som innehåller det som man postat från en form.. 

Antar att det är LIKE som ska bytas ut mot något ?!

```
SQL = "Select * From members where nick [b]LIKE[/b] '"& Request.form("nick") &"'"
```

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

## #2 — @nders, 2001-12-13T15:27Z

Provat med ett enkelt likhetstecken?

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

## #3 — ConnyFox, 2001-12-13T15:29Z

ja men det är ju samma sak.. like och = men då söker dom ju ut dom trådarna som är = (lika med) inte som innehåller det man postat..

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

## #4 — @nders, 2001-12-13T15:31Z

Du vill alltså ha en like-sökning? Då saknar du ett par wildcards:

```
SQL = "Select * From members where nick LIKE '%"& Request.form("nick") &"%'"
```

Fast jag är ju inte helt med på vad du menar, förstås.

Red: wildcard på fel ställe. :x

Mvh,

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

## #5 — ConnyFox, 2001-12-13T15:35Z

hehe like betyder väll lika med?

Saken e den att jag inte vill söka ut dom som är LIKA med request.form utan dom som INNEHÅLLER d som kommer med request.formen ;)

så om man söker på fox kommer foxxen lillfox lollifox o allt som innehåller fox att listas o inte bara just fox
förstår du va jag menar? \*lite velig\*

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

## #6 — LarsG, 2001-12-13T15:39Z

Den sqlsats som @nders skrev fungerar så som du skriver. Den hittar alla poster där sökordet ingår.

Är det något problem med att använda den?

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

## #7 — ConnyFox, 2001-12-13T15:40Z

Nix jag hadde låst mig på att d skulle vara samma som = ;) Aja tack iaf ska genast testa detta!

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

## #8 — @nders, 2001-12-13T15:43Z

Nej, like är absolut inte lika med lika med.

Ersätt det med 'liknar' när du läser sql-frågan högt för dig själv. :)

Mvh,

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

## #9 — ConnyFox, 2001-12-13T15:51Z

hehe tack ;) Föresten det funkade fin fint! \*tackar o bugar\*

En sak till, skulle vilja göra så att man kan söka på flera olika fält.
t.ex förnamn, efternamn, nick m.m har lite tanke stopp, nån ide på hur jag enklast löser det?

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

## #10 — LarsG, 2001-12-13T16:19Z

```
SQL = "Select * From members where nick & fornamn & efternamn LIKE '%"& Request.form("nick") &"%'"
```

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

## #11 — ConnyFox, 2001-12-13T16:27Z

Hmm.. jadu nu när jag tänker efter e ju d ganska logiskt :O) danke danke!

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

## #12 — ConnyFox, 2001-12-13T16:33Z

Fast då måste man ju på nått vis se till att alla request.form:arna kommer med oxå? och hur ser jag till att namn måste innehålla just request.form("namn") och inte request.form("nick") ?? \*förvirrad\* e som ni märker inte så haj på detta!

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

## #13 — LarsG, 2001-12-13T18:06Z

```
SQL = "Select * From members where nick LIKE '%"& Request.form("nick") &"%'" _
& " or fornamn like '%" & request.form("namn") & "%'" _ 
& " or efternamn like '%" & request.form("namn") & "%'"
```

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

## #14 — ConnyFox, 2001-12-13T18:25Z

jaså d e så d ska gå till.. får det dock inte att funka riktigt.. Alltså vad betyder dom där , 3, 3, ? alldrig fattat det har bara lärt mig att så ska det vara :o)

Får error 
Microsoft OLE DB Provider for ODBC Drivers fel '80040e10' 

\[Microsoft\]\[Drivrutin för ODBC Microsoft Access\] För få parametrar angavs. 1 förväntades. 

/StajlLinks 1.0/memb_list.asp, rad 27 

```
<% 

database = Server.MapPath("members.mdb")
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& database
Set RecSet = Server.CreateObject("ADODB.Recordset")

if Request.querystring("search") = "nick" then
[b]SQL = "Select * From members where nick LIKE '%"& Request.form("nick") &"%'" _
& " or fornamn like '%" & request.form("namn") & "%'" _ 
& " or efternamn like '%" & request.form("namn") & "%'" [/b]

elseif Request.querystring("order") = "nick" then
SQL = "SELECT * FROM members ORDER BY nick"

elseif Request.querystring("order") = "Namn" then
SQL = "SELECT * FROM members ORDER BY namn"

elseif Request.querystring("order") = "efternamn" then
SQL = "SELECT * FROM members ORDER BY efternamn"

else
SQL = "SELECT * FROM members ORDER BY datum"

end if

[b]RecSet.Open SQL, Connection, 3, 3[/b] <-- error på denna raden
%>
```

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

## #15 — LarsG, 2001-12-13T18:30Z

Det felet får du om du har ett felaktigt kolumnnamn i selectsatsen. Heter kolumnen fornamn eller förnamn?

3,3 anger cursortyp och låsningstyp
 <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdmthrstopen.asp>

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

## #16 — ConnyFox, 2001-12-13T18:36Z

Aha ok, jo jag glömmde kolla att du hadde skrivit samma namn som mig du hadde skrivit fornamn jag har bara namn så nu funkade det.. ett annat problem.. spelar ingenroll vad jag skriver i någon av inputsen alla inläg listas ändå :o) t.ex om jag skriver fox i nick o klickar ok så listas alla inlägg.. helknas :o)

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

## #17 — @nders, 2001-12-13T18:39Z

I din SQL-fråga jämför du med värden från både formulärsfältet nick, och fältet namn. Ska det vara så?

Mvh,

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

## #18 — LarsG, 2001-12-13T18:45Z

Som @nders påpekar beror det på att du har or med. T.ex. om du inte anger något sökord för namn så blir ditt villkor

```
where nick like '%fox%' or namn like '%%'
```

vilket innebär att man hittar alla poster.

Du får nog lägga in lite dynamik i hur du bygger frågan

```
if Request.querystring("search") = "nick" then
SQL = "Select * From members where 1 = 1 "
if  request.form("nick") <> "" then
sql = sql & "or nick LIKE '%"& Request.form("nick") &"%' " 
end if
if  request.form("namn") <> "" then
sql = sql & "or namn LIKE '%"& Request.form("namn") &"%' " 
end if
```

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

## #19 — ConnyFox, 2001-12-13T18:51Z

Den där koden gav samma resultat.. ända skillnaden är att jag inte fattar va d e jag gör :o)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/13169-söka-i-databas
