Avatar billede kroger Nybegynder
23. august 2001 - 20:50 Der er 13 kommentarer og
1 løsning

fejl i sql forespørgsel

Jeg har en søgemaskine der går ind og søger i en database, men jeg tror der er en fejl i min sql-forespørgsel. HEr er den:
\"SELECT navn, by1 FROM ba WHERE navn LIKE \'%\" & search & \"%\' OR by1 LIKE \'%\" & search & \"%\' ORDER BY navn\"

Og search er:
If Trim(Request.Form(\"search\")) <> \"\" Then
    Session(\"search\") = Trim(Request.Form(\"search\"))
End If
search = Session(\"search\")
search = Replace(search,\"\'\",\"\'\'\")

Håber der er nogen der kan give et svar...

M.V.H.
  Kroger
Avatar billede eflow Nybegynder
23. august 2001 - 20:51 #1
hvorfor tror du den er forkert ?
Avatar billede kroger Nybegynder
23. august 2001 - 20:52 #2
Shit jeg glemte at fortælle hvad den gør:0

når jeg søger kan den intet finde, men hvis jeg fjerner \"where\" betingelsen hiver den alt frem af databasen
Avatar billede runesoft Nybegynder
23. august 2001 - 20:53 #3
skriv din sql ud før du smider den ned i basen, så kan du se hvad der reelt står
Avatar billede kroger Nybegynder
23. august 2001 - 20:57 #4
Problemet er lidt at det er en søgemaskine der er hentet udefra, og den bruger 47.000. arrays fordi den skal søge i flere tabeller og derefter dele dem op, og jeg har prøvet at skrive den ud, men så brokker den sig helt vildt. Hvis jeg så prøver at skrive forespørgslen ud efter alle arraysne så giver den mig bare et tal. Det skal siges at forespørgslen også er en del at et array, og hvis jeg må sige det, så er jeg ikke just en haj til arrays
Avatar billede eflow Nybegynder
23. august 2001 - 20:59 #5
hmm....det er klart at den hiver alt ud når du sletter where betingelsen...kan vi ikke få erikjakobsen her ind ? han er sq gud til det der SQL
Avatar billede kroger Nybegynder
23. august 2001 - 21:10 #6
ja det er jeg klar over, der er på den måde jeg har lokaliseret fejlen til at være i sql-forspørgslen..
Avatar billede runesoft Nybegynder
23. august 2001 - 21:20 #7
sql\'en ser rigtig ud!  får du noget ud hvis du skriver den direkte i databasen?
Avatar billede kroger Nybegynder
23. august 2001 - 21:26 #8
Øhhh...Nu har jeg ikke direkte adgang til sql serveren(jeg tester siderne hos min udbyder)
Avatar billede runesoft Nybegynder
23. august 2001 - 21:29 #9
får du search rigtigt med over?  og et dumt spørgsmål; Er der nogen poster der indeholder strengen search?
Avatar billede kroger Nybegynder
23. august 2001 - 21:36 #10
Et andet sted på siden henter jeg search, til at vise hvad man skrev i søgefeltet, og der kommer den frem, så search indeholder den værdi man skriver i formen.
Avatar billede runesoft Nybegynder
23. august 2001 - 21:39 #11
og du er sikker på at der findes en post der indeholder search?
Avatar billede kroger Nybegynder
23. august 2001 - 21:45 #12
jeg har lavet 5 poster i alle tabeller hvor alle felter indeholder aa, og hvis jeg søger på aa eller a dukker der intet frem, eller rettere sagt den siger at intet resutat er fundet. Jeg ved ikke om det er nemmere at vise jer hele koden, men det er vist for meget forlangt at i skal tygge jer igennem 400 linjer kode!
Avatar billede kayb Nybegynder
26. august 2001 - 05:13 #13
Dette her virker fint på MS SQLServer 7.0
Hvis der ingen parenteser er vil den ikke finde
nogen hvis bare et af kriterierne ikke er opfyldt.
Derfor sådan her:

SELECT navn, by1
FROM ba
WHERE (navn LIKE \'%\" & search & \"%\') OR (by1 LIKE \'%\" & search & \"%\')
ORDER BY navn

Håber det hjalp.
Avatar billede kroger Nybegynder
24. september 2001 - 11:49 #14
Jeg rodede lidt rundt med den, og på en eller anden mystisk måde fik jeg den til at virke, jeg er en af de slags der årøver 100 tng på en gang, og finder derfor aldrig ud af, hvad det er der gjorde det(blir man aldrig klogere...)
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
Kurser inden for grundlæggende programmering

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