Hej. Like fungerar perferk. Jag får direkt ett fel som detta kan du visa din kod? kastar du in % in från ASP sidan? Där har du felet i så fall. Ja, %-tecknet följer med från ASP. Det var det jag ville för att ge användaren möjlighet att välja. Att ha det fast i SP är ingen lösning. Skulle det gå att skicka in olika utseende på @strSok genom att anväbda radioknappar i formuläret och en Select Case? Du skulle kunna göra så här Bättre att använda @SearchAlt som bit istället för int. hmmm... om man är ute efter att optimera eller bara vill vara superkorrekt, eller bara vara pedant, så ja ;o) Det är väl helt onödigt. ÄR väl bättre att skirva en ren Procedure:Stored Proceure
Är det verkligen omöjligt att använda en LIKE i en SP som man kan i en vanlig SQL-sats. Alltså låta användaren välja om man vill söka exakt eller lägga till en %
Mvh
AndersSv: Stored Proceure
Du använder det på samma sätt som i vanlig SQl sats. Antar att du delklarerar 'variabler' @blabla och anväder dessa i din Like?
//Johan NSv: Stored Proceure
Microsoft OLE DB Provider for SQL Server error '80040e14'
Line 1: Incorrect syntax near '%'.
/rosenberg/sok.asp, line 121
Allt är deklarerat
sökordet var knis%
// AndersSv: Stored Proceure
//Johan NSv: Stored Proceure
AndersSv: Stored Proceure
Hur gör man det isfSv: Stored Proceure
Typ detta är din sp:
<code>
CREATE PROCEDURE SearchTable
@Criteria varchar(255), <-- Detta är det som användaren söker efter
@SearchAlt int <-- Här skickar du in 0 eller 1, 0 = inget % 1 = %
AS
IF @SearchAlt = 0 BEGIN
-- SELECT Utan %
END
ELSE IF @SearchAlt = 1 BEGIN
-- SELECT Med %
END
</code>Sv: Stored Proceure
(@SearchAlt bit istället för @SearchAlt int)Sv: Stored Proceure
annars funkar det nog bra med int oxo, eller? för sist jag kollade fixade int såväl 0 som 1.
speciellt bra funkar det om man är superrik, har massvis med utrymme, prestanda och resurser att använda sig av heheSv: Stored Proceure
<code>
CREATE PROCEDURE SearchTable
(
@Criteria varchar(255)
)
AS
SELECT *
FROM TabellNamn
WHERE Fältnamn LIKE @Criteria
END
</code>
% tecken kan du ju lika väl ange i sökvilkoret från anropet. Onödigt att lägga denna hantering i proceduren.