Har stött på ett till problem nu. Nu har jag en sp som ser ut så här
CREATE PROCEDURE [sp_VpArticleNoSearch]
@DesignID varchar(100)
AS
SELECT dbo.vpVariants.FK_DesignID, dbo.vpVariants.PK_ArticleNumber, dbo.vpDesign.FK_ModelID, dbo.vpDesign.DesignName, dbo.vpDesign.DesignCode,
dbo.vpDesign.PK_DesignID, dbo.vpDesign.PublicOnWeb, dbo.vpVariants.PublicOnWeb AS Expr1
FROM dbo.vpVariants INNER JOIN
dbo.vpDesign ON dbo.vpVariants.FK_DesignID = dbo.vpDesign.PK_DesignID
WHERE (dbo.vpDesign.PublicOnWeb = 1) AND (dbo.vpVariants.PublicOnWeb = 1) AND (dbo.vpVariants.PK_ArticleNumber LIKE '%' + @DesignId + '%')
ORDER BY dbo.vpVariants.PK_ArticleNumber ASC
GO
Sen när jag anropar den för att få fram resultatet av en sökning ifrån ett text fält så fungerar det bra, tills jag skriver in ett mellanslag någonstanns i sökrutan då får jag felmeddelandet
Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near
På tecknet efter mellanslaget, varför beteer den sig så här ? vad ska jag göra för att åtgärda problemet, jag har sökt men hittar inga svar.
Hmm det verkar ju inte vara något med tabellerna eller fälten och de olika värdena utan är ju sqlfrågan som "fuckas upp" när jag skriver ett mellan rum i sökordet.
Det är ju sp:n som är felskriven eftersom följande kod fungerar
strSQL = "SELECT dbo.vpDesign.PK_DesignID, dbo.vpModel.ModelName, dbo.vpDesign.DesignName, dbo.vpDesign.Picture "_
& "FROM dbo.vpModel INNER JOIN dbo.vpDesign ON dbo.vpModel.PK_ModelID = dbo.vpDesign.FK_ModelID "_
& "WHERE (dbo.vpModel.PublicOnWeb = 1) AND (dbo.vpDesign.PublicOnWeb = 1) AND (dbo.vpDesign.DesignName LIKE '%" & intDesignID & "%') "_
& "OR (dbo.vpModel.ModelName LIKE '%" & intDesignID & "%') ORDER BY dbo.vpDesign.DesignName ASC"
Om jag gör det med en vanligt sqlfråga då.
Vad är fel i storedproceduren ? hur ska jag skriva om variabeln där i ? tack
har hittat lite på 4guys som säger att man ska skriva ''%' +@designID+ '%'' men det fungerar inte att sätta in alls.