---
title: "SQL (sökning)"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/60363-sql-sökning"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "sudden"
published: "2002-11-26T20:57:56.000Z"
updated: "2002-11-27T08:18:35.000Z"
replies: 14
views: 343
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/60363-sql-sökning"
---

# SQL (sökning)

## #1 — sudden, 2002-11-26T20:57Z

Hej!
Jag har en databas med dessa poster:
namn, efteramn, tel, adress, post

Nu har jag två st formulär som heter namn och efternamn, så man söker bara på namnet eller efternamnet.
Men om det sedan stämde överens med någon post i databasen så vill jag visa alla uppgifter på just den personen.
Hur gör jag då?  :q 
Tacksam för svar  :e

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

## #2 — Eitraz, 2002-11-26T21:01Z

hur långt har du kommit nu?

Lite kod tackar ;)

\-Eitraz

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

## #3 — sudden, 2002-11-26T21:03Z

Här är koden:

\<!--include virtual="adovbs.inc"--\>

\<%
'öppna en anslutning till vår databas Acces
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (\*.mdb)};dbq=c:\\inetpub\\wwwroot\\sok\\databas.mdb"

'Läs in sökningen
Dim Fornamn, Efternamn
Fornamn = Request("namn") 
Efternamn = Request("efternamn")

'skapa en variabel för SQL satsen
  Dim strSQL
strSQL = "SELECT \* FROM vanner WHERE namn = Fornamn AND efternamn = Efternamn ORDER BY namn DESC"

'skapa en instans av recordset
Dim RS
Set RS = Server.CreateObject("ADODB.Recordset")
RS.Open "strSQL", Connect

'visa alla som matchade med sökningen
Response.Write"\<b\>Sökningen är klar\</b\>" & "\<br\>" & "\<br\>"

Do While Not RS.EOF
 Response.Write RS("namn") & " - " &\_
   FormatCurrency(RS("efternamn")) & "\<br\>"

RS.MoveNext
Loop

'städa undan
RS.Close
Set RS = Nothing

Connect.Close
Set Connect = Nothing
%\>

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

## #4 — Eitraz, 2002-11-26T21:06Z

eftersom du har *SELECT \** så är det bara att skriva
**\<%=RS("tel")%\>** etc :)

\-Eitraz

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

## #5 — sudden, 2002-11-26T21:13Z

hmm...när jag kör scriptet får jag det här meddelandet:

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
\[Microsoft\]\[Drivrutin för ODBC Microsoft Access\] Ogiltigt SQL-uttryck. 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT' eller 'UPDATE' förväntades.
/sok/sok.asp, line 20

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

## #6 — Eitraz, 2002-11-26T21:14Z

du  måste ha t ex:
WHERE namn = '" & Fornamn & "'"

\-Eitraz

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

## #7 — agneta_rung, 2002-11-26T21:17Z

Du ska nog inte ha fnuttar runt StrSQL när du gör RS.Open

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

## #8 — Eitraz, 2002-11-26T21:18Z

och
Request("efternamn")
måste väll vara
Request.Form("efternamn")
?

\-Eitraz

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

## #9 — sudden, 2002-11-26T21:19Z

okej...kan inte du skriva SQL satsen så att den blir rätt?  :r

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

## #10 — sudden, 2002-11-26T21:26Z

bluäää det funkar inte  =( =(
Får bara det här meddelandet:

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
\[Microsoft\]\[Drivrutin för ODBC Microsoft Access\] Ogiltigt SQL-uttryck. 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT' eller 'UPDATE' förväntades.
/sok/sok.asp, line 20

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

## #11 — solbulle, 2002-11-26T21:28Z

```
strSQL = "SELECT * FROM vanner WHERE namn = '" & Fornamn & "' AND efternamn = '" & Efternamn & "' ORDER BY namn DESC"
```

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

## #12 — sudden, 2002-11-26T21:30Z

Tack så himla mycket =) =)
Du är en klippa :birp  :birp  :e   :e

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

## #13 — Josef, 2002-11-27T07:42Z

Det är ganska onödigt att inkludera adovbs.inc om man inte använder den...

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

## #14 — @nders, 2002-11-27T07:46Z

> **Eitraz skrev:**
>
> och
> Request("efternamn")
> måste väll vara
> Request.Form("efternamn")
> ?

Nej. Man kan av lathet utelämna .form / .querystring o.s.v., men det innebär att asp-motorn letar igenom alla collections för att hitta det du söker. Man *bör* alltså alltid ange vilken collection det är man vill ha information av.

Mvh,

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

## #15 — mikul, 2002-11-27T08:18Z

Jag har gjort i ordningen den lite åt dig nu :e 

```
<% 
'öppna en anslutning till vår databas Acces 
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\sok\databas.mdb" 

'Läs in sökningen 
Dim Fornamn, Efternamn 
Fornamn = Request("namn") 
Efternamn = Request("efternamn") 

'skapa en variabel för SQL satsen 
Dim strSQL 
strSQL = "SELECT * FROM vanner WHERE namn = '"& Fornamn &"' AND efternamn = '"& Efternamn &"' ORDER BY namn DESC" 

'skapa en instans av recordset 
Dim RS 
Set RS = Connect.Execute(strSQL) 

'visa alla som matchade med sökningen 
Response.Write"<b>Sökningen är klar.</b>" & "<br>" & "<br>" 

While Not RS.EOF 
	Response.Write RS("namn") & " - " &_ 
	FormatCurrency(RS("efternamn")) & "<br>" 

	RS.MoveNext 
Wend 

'städa undan 
RS.Close : Set RS = Nothing 
Connect.Close : Set Connect = Nothing 
%>
```

/ Mikul

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/60363-sql-sökning
