webForumDet fria alternativet
Logga in / Bli medlem

3 select sökningar.

ASP

17 svar · 228 visningar · startad av Kent

Medlem sedan juli 2000355 inlägg
Trådstart#1

Borde inte detta funka?

a = Request.QueryString("a")
kat = Request.QueryString("kat")
sokord = Request.QueryString("sokord")
typ = Request.QueryString("typ")

SQL = "SELECT * FROM data WHERE (beskrivning LIKE '%" & sokord & "%' OR titel LIKE '%" & sokord & "%')"
If kat <> "" then SQL = SQL & " AND kat = " & kat & ""
If typ <> "" then SQL = SQL & " AND typ = " & typ & ""
If a <> "" then SQL = SQL & " AND a = " & a & ""

Medlem sedan juni 200032 967 inlägg
#2

skriv ut den färdiga sql-frågan med response.write så är det betydligt lättare att svara på.

Medlem sedan mars 20007 896 inlägg
#3

...och tala gärna om vad felet är! Får du inte några sökresultat så är troligtvis någon av Request.QueryStringsen felstavad eller nåt. Om du får ett felmeddelande kan det bero på att du har glömt '-fnuttar, om fälten kat, typ eller a inte är av typen Tal.

Medlem sedan juli 2000355 inlägg
#4

Detta fel får jag upp,

Syntax error (missing operator) in query expression '(beskrivning LIKE '%%' OR titel LIKE '%%') AND a = 1order id desc'.

[Redigerat av Kent den 09 mar 2001]

Medlem sedan dec. 200012 464 inlägg
#5

Det skall vara ett mellanslag mellan a = 1 och order och sedan så skall det vara order by id desc.

Medlem sedan juli 2000355 inlägg
#6

Så här ser det ut,
SQL = SQL & "order by id desc"

Medlem sedan okt. 20001 558 inlägg
#7

1 och order sitter ju ihop! Lägg ett mellanslag...

Medlem sedan juli 2000355 inlägg
#8

När jag ändrade det får jag upp,
Syntax error in ORDER BY clause.

Medlem sedan juni 200032 967 inlägg
#9

jag citerar mig själv och gör det med fetstil: skriv ut den färdiga sql-frågan med response.write så är det betydligt lättare att svara på.

Medlem sedan juli 2000355 inlägg
#10

Hur menar du då @anders.?

Medlem sedan dec. 19998 577 inlägg
#11

Precis efter det att hela SQL-strängen är färdigbygd, och före det att du exekverar den, så skriver du ut variabeln där du har lagrat SQL-strängen:

Response.write SQL

Medlem sedan juli 2000355 inlägg
#12

Ok,nu får jag upp,

Syntax error in ORDER BY clause.

/default.asp, line 22

på rad 22 ligger
set RS = databas.execute(SQL)

Medlem sedan dec. 19998 577 inlägg
#13

Citerar mig själv:

före det att du exekverar den

Medlem sedan aug. 2000304 inlägg
#14

CoolDude Pekar och visar

Dina rader kod???
SQL = "SELECT * FROM data WHERE (beskrivning LIKE '%" & sokord & "%' OR titel LIKE '%" & sokord & "%')"
If kat <> "" then SQL = SQL & " AND kat = " & kat & ""
If typ <> "" then SQL = SQL & " AND typ = " & typ & ""
If a <> "" then SQL = SQL & " AND a = " & a & ""
[i]Här skall du skriva ut raden[/i]
[b]Response.Write SQL[/b]
Response.End (Denna lägger jag till för att få se SQL strängen även om det blir fel, pilla bort för att se [b]vad[/b] felet är...)
[i]Sedan kommer din rad igen.[/i]
set RS = databas.execute(SQL)
Medlem sedan juli 2000355 inlägg
#15

Detta får jag upp nu,
SELECT * FROM data WHERE (beskrivning LIKE '%%' OR titel LIKE '%%') AND a = 1 order by id desc

Medlem sedan aug. 2000304 inlägg
#16

CoolDude Prova lösa

Hmm!
Ta bort paranteserna kanske??

Sedan ser dina söksträngar ut att ha blivit tomma.

SELECT * FROM data WHERE (beskrivning LIKE '%%' OR titel LIKE '%%') AND a = 1 order by id desc

Borde det inte stå typ:

SELECT * FROM data WHERE (beskrivning LIKE '%[b]kalle[/b]%' OR titel LIKE '%[b]anka[/b]%') AND a = 1 order by id desc

Iof så skall den hitta något ändå pga %% så jag tippar på att du skall ta väck ()

Prova skadar inte.

Medlem sedan juli 2000355 inlägg
#17

Ja nu verkar det funka helt felfritt,
tack för hjälpen CoolDude.!!

Medlem sedan aug. 2000304 inlägg
#18

:r Så lite så.

260 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)