---
title: "SQL-fråga fel"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/12388-sql-fråga-fel"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Addeladde"
published: "2001-10-31T14:39:00.000Z"
updated: "2001-11-01T01:16:00.000Z"
replies: 4
views: 206
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/12388-sql-fråga-fel"
---

# SQL-fråga fel

## #1 — Addeladde, 2001-10-31T14:39Z

Jag ska ha en sökfunktion där man antingen ska kunna söka efter ett par olika alternativ eller en kod.
Antingen söker man efter kod eller alternativen båda ska inte gå.

Jag har försökt att göra en litenkodsnutt men det fungerar inte när man söker efter kod. Det måste också gå att göra i en enda sql-fråga tycker jag men det har jag inte lyckatsmed.

Här är min kod:

```
IF kod = "" THEN
Set rosterRS = Server.CreateObject( "ADODB.Recordset" )
rosterRS.ActiveConnection = Con
rosterRS.CursorType = adOpenStatic
rosterRS.CursorLocation = adUSEClient
rosterRS.Pagesize = 10

sqlString = "SELECT rost_id, rost_kod, rost_sprak, rost_hemvist, rost_kon, rost_alder, rost_karaktar, rost_fil, sprak_svenska, land_svenska " &_
"FROM roster, sprak, land " &_
"WHERE rost_status=1 " 

if karaktar <> 0 then
sqlstring = sqlstring & _
"AND rost_karaktar = " & karaktar & " " 
end if

if alder <> 0 then
sqlstring = sqlstring & _
"AND rost_alder = " & alder & " " 
end if

if hemvist <> 0 then
sqlstring = sqlstring & _
"AND rost_hemvist = " & hemvist & " " 
end if

if sprak <> 0 then
sqlstring = sqlstring & _
"AND rost_sprak = " & sprak & " " 
end if

if kon <> 0 then
sqlstring = sqlstring & _
"AND rost_kon = " & kon & " " 
end if

if typ <> 0 then
sqlstring = sqlstring & _
"AND rost_typ = " & typ & " " 
end if

sqlstring = sqlstring & _
"AND land_id = rost_hemvist " &_
"AND sprak_id = rost_sprak " &_
" ORDER by rost_kod DESC" 
rosterRS.Open sqlString
rosterRS.AbsolutePage = pg
rostcount = rosterRS.RecordCount
END IF

IF kod <> "" THEN
Set rosterRS = Server.CreateObject( "ADODB.Recordset" )
rosterRS.ActiveConnection = Con
rosterRS.CursorType = adOpenStatic
rosterRS.CursorLocation = adUSEClient
rosterRS.Pagesize = 10
sqlString = "SELECT rost_id, rost_kod, rost_sprak, rost_hemvist, rost_kon, rost_alder, rost_karaktar, rost_fil, sprak_svenska, land_svenska " &_
"FROM roster, sprak, land " &_
"WHERE rost_status=1 " &_
"AND rost_kod = "& kod &" " &_
"AND land_id = rost_hemvist " &_
"AND sprak_id = rost_sprak " &_
" ORDER by rost_kod DESC" 
rosterRS.Open sqlString
rosterRS.AbsolutePage = pg
rostcount = rosterRS.RecordCount
END IF
```

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

## #2 — LarsG, 2001-10-31T15:05Z

Vad är det som går fel?

Vad har kolumnen rost_kod för datatyp?

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

## #3 — Addeladde, 2001-10-31T15:20Z

Jag har fått det att fungera men går det inte att få det i en enda sql-fråga?
datatypen är char

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

## #4 — LarsG, 2001-10-31T16:11Z

Jag förstår inte riktigt vad du menar med att få det i en sql-fråga.

Det gör väl inget att du bygger 2 olika strängar för de två sökningarna.

Anledningen till att jag frågade om datatypen är den här

```
"AND rost_kod = "& kod &" " &_
```

och att du inte har med ' kring värdet.

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

## #5 — Addeladde, 2001-11-01T01:16Z

Nej det har ju ingen betydelse alls tänkte bara försöka hålla ner koden lite grann. Jo jag märkte själv att ' tecknen saknades.

Det är lite jobbigt att olika databaser ska skilja sig år hur man skriver SQL-frågorna.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/12388-sql-fråga-fel
