---
title: "Stored pro med sökfunktion."
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/21636-stored-pro-med-sökfunktion"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "erka"
published: "2001-09-28T13:28:00.000Z"
updated: "2001-10-01T20:02:00.000Z"
replies: 10
views: 249
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/21636-stored-pro-med-sökfunktion"
---

# Stored pro med sökfunktion.

## #1 — erka, 2001-09-28T13:28Z

Jag är ju inte en direkt klippa på storedprocedures och ska lägga över en sökfunktion i en sådan. fritextsökning.

nu har jag tex

```
WHERE DesignName LIKE '%" DesignID "%'
```

Men hur sjutton skriver jag om den till en storedprocedur, alltså typ så här

```
@DesignId
övriga sqlfrågan
Where DesignName LIKE @DesignId
```

Men det blir ju bara en exakt textsök och inte fri textsök. Har jag rätt om jag säger något med + tecknet ? 

Förstår ni vad jag menar ?

Permalänk: https://www.webforum.nu/p/21636

## #2 — LarsG, 2001-09-28T13:34Z

```
Where DesignName LIKE '%' + @DesignId
+ '%'
```

Permalänk: https://www.webforum.nu/p/352672

## #3 — erka, 2001-09-28T13:36Z

Tack än en gång :e

Permalänk: https://www.webforum.nu/p/352673

## #4 — erka, 2001-10-01T10:45Z

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.

Hjälp ;)

Permalänk: https://www.webforum.nu/p/352674

## #5 — erka, 2001-10-01T10:58Z

dbo.vpVariants.PK_ArticleNumber är en nvarchar, tror jag måste ovandla söksträngen eller ?

Permalänk: https://www.webforum.nu/p/352675

## #6 — erka, 2001-10-01T12:52Z

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.

Permalänk: https://www.webforum.nu/p/352676

## #7 — LarsG, 2001-10-01T15:41Z

Hur ser ditt anrop till proceduren ut?

Permalänk: https://www.webforum.nu/p/352677

## #8 — erka, 2001-10-01T17:02Z

larsg:
intDesignID = Request.Form("strSearch") 
strSQL = "sp_VpArticleNoSearch " & intDesignID

Permalänk: https://www.webforum.nu/p/352678

## #9 — LarsG, 2001-10-01T17:06Z

```
strSQL = "sp_VpArticleNoSearch '" & intDesignID & "'"
```

Permalänk: https://www.webforum.nu/p/352679

## #10 — LarsG, 2001-10-01T18:30Z

eller om du vill vara helt säker

```
strSQL = "sp_VpArticleNoSearch '" & replace(intDesignID,"'","''") & "'"
```

Permalänk: https://www.webforum.nu/p/352680

## #11 — erka, 2001-10-01T20:02Z

Tackar, ska testa direkt på jobbet i morgon, funkar bergis som vanligt när du rättat till saker och ting :e

Permalänk: https://www.webforum.nu/p/352681

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/21636-stored-pro-med-sökfunktion
