Avatar billede curriculum Nybegynder
28. oktober 2005 - 13:04 Der er 1 kommentar

Array til Stored Procedure

Jeg har lavet en stored procedure til min hjemmeside søgning.
Når brugere indtaster søgeord "jeg leder på flere ord", så vil jeg have SP at lede på hvert ord sig.

Hvordan laver man dette ?
Avatar billede kilroydk Nybegynder
28. oktober 2005 - 14:06 #1
I Stored Procedures ??
Øh... hvorfor der ??? Det vil da være langt lettere at køre det i f.ex. ASP, da du skal dele tekststrengen op for at det kan lade sig gøre.
Jeg kender ikke nogen INSTR kommando der fungerer i S.P. Den eneste jeg kender der kan trække enkelte karakterer ud af en streng, er SUBSTRING, og hvis du ikke kan finde mellemrummene, så begynder det at blive kreativt.
Lav det i ASP... langt lettere.

  'søgestreng' = den tekst der er indstastet som der skal søges efter
  Find = der tildeles enkelte ord som der søges efter

  Do While Instr('søgestreng'," ")
    Find = Left('søgestreng',INSTR('søgestreng'," ")-1)
    ... SELECT.... Where ..Data-base-felt.. Like "%" & Find & "%"
    ... Skriv alle resultater ...
    'søgestreng' = Right('søgestreng',len('søgestreng')-(len(Find)+1))
  Loop

Den burde kunne gøre det... Husk dog på, at hvis du vil søge i flere felter i din database, så skal du i SELECT sætningen tilføje søgningen med en OR for hvert felt der skal søges på. (Og husk det skal være tekst-felter....)

Hvordan du har tænkt dig at lave den der rutine i SP... Hmmmm... det ved jeg ikke, men den der skulle kunne gøre det i ASP. Jeg har ikke testet den, men håber da at det kører ;-)

God fornøjelse.
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