Just nu i M3-nätverket
Jump to content

And granskad = true


Anders H

Recommended Posts

Jag håller på att bygga en liten söktjänst mha av MD´s ASP sidor, nu är det ju så att jag vill att man bara ska få upp dom sökresultat som jag har godkänt, jag använder mig av searh.asp som fanns med i MS´s nyhetsscript. Och nu undrar jag vad som behövs läggas till till nedanstående kod för att bara få ut resultatete som är godkända

typ nåt ...AND granskad=true se kod nedan:

 

SQL = "SELECT * FROM Link where Titel LIKE '%" & Replace(Trim(Request.Form("Search")), "'", "''") & "%' OR Beskrivning LIKE '%" & Replace(Trim(Request.Form("Search")), "'", "''") & "%' "

SQL = SQL & " Order by Id Desc"

 

 

Tack på förhand

//A

Link to comment
Share on other sites

Bo Anders Svensson

Ja, du bör lägga till "granskad = true", MEN observera att eftersom du har ett OR-uttryck så måste det sättas inom parantes efter som AND har högre prioritet än OR.

 

Din fråga ser i princip ut enligt nedan:

 

SELECT *

FROM Link

where (

Titel LIKE '%' + @Titel + ' %'

OR

Beskrivning LIKE '%' + @Beskriving +' %'

)

AND <ditt villkor för att granskansking är Order by Id Desc

 

Du bör principmässigt skriva om den till:

(Enligt teorem A OR B <=> NOT(NOT A AND

NOT B)

 

SELECT *

FROM Link

WHERE NOT (

NOT Titel LIKE '%' + @Titel + ' %'

AND

NOTBeskrivning LIKE '%' + @Beskriving +' %'

)

AND <ditt villkor för att granskansking är utförd>

Order by Id Desc

 

Varför detta? Jo, i allmänhet så skall man OR så mycket som möjligt då slipper databasservern jobba onödigt mycket, och dina frågor går lite snabbare att köra.

 

../BAS

 

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...