Anders H Posted November 10, 1999 Share Posted November 10, 1999 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 More sharing options...
Bo Anders Svensson Posted November 14, 1999 Share Posted November 14, 1999 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 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 More sharing options...
Bo Anders Svensson Posted November 14, 1999 Share Posted November 14, 1999 "Jo, i allmänhet så skall man undvika OR så mycket" Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.