Avatar billede left Nybegynder
05. november 2002 - 18:26 Der er 6 kommentarer og
1 løsning

LIKE og reserverede ord

Jeg bruger MSSQL 2000.
Når jeg i nedenstående SP bruger et reserveret ord (in, select osv.) i like-søgningen opstår der en fejl. Hvis jeg søger på andre ord, er der ikke noget problem - hvad er der galt?

CREATE PROCEDURE sp_ing_fritekst
@Ing_1 varchar(50)
AS
select distinct Sprutid,Navn from sprut
where Navn LIKE '%' + @Ing_1 + '%'
order by Navn
GO

Ved søgning på 'select' får jeg f.eks. følgende meddelelse:
Incorrect syntax near 'select'
Avatar billede medions Nybegynder
05. november 2002 - 18:28 #1
Gør sådan her om reseveret ord:

[reseveretord]

//>Rune
Avatar billede left Nybegynder
05. november 2002 - 18:31 #2
Det virker meget enkelt, men hvis du skulle omskrive min SP, hvordan skulle den så se ud?
Avatar billede ocp Nybegynder
06. november 2002 - 09:03 #3
Det vil ikke virke med [] da de ville indgå som en del af søgningen.
Jeg tror du bliver nødt til at gøre således:

execute('select distinct Sprutid,Navn from sprut
where Navn LIKE ''%' + @Ing_1 + '%''
order by Navn')
Avatar billede ocp Nybegynder
06. november 2002 - 09:03 #4
PS: '' er to gang '
Avatar billede left Nybegynder
07. november 2002 - 11:06 #5
Jeg skriver nu den fulde SP som nedenstående - problemet er bare at der ikke fremkommer resultater ved søgningen :-(

CREATE PROCEDURE sp_drinks_fritekst
@Ing_1 varchar(50)
AS
execute('select distinct Sprutid,Navn from sprut
where Navn LIKE ''%' + @Ing_1 + '%''
order by Navn')
GO
Avatar billede Slettet bruger
07. november 2002 - 11:10 #6
Prøv at udskrive din query før du kører den, det hjælper tit:

query = "SELECT DISTINCT Sprutid,Navn FROM sprut WHERE Navn LIKE %'" + @Ing_1 + "'% ORDER BY Navn"

execute(query)
Avatar billede left Nybegynder
03. januar 2003 - 05:44 #7
Har fundet fejlen nu - den lå i at strengen, som blev sendt fra asp-koden, ikke har omgivet af ' ', hvilket bestød fejl. Lukker nu :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester