Avatar billede don_nigger Nybegynder
05. december 2003 - 14:33 Der er 4 kommentarer og
1 løsning

Problemer med min SQL!

Hej med jer....

Jeg har en lille søge funktion, som næsten virker som den skal.

Jeg har i min job tabel et felt der hedder "Active" som er af typen bit/boolean.

Hvis f.eks. et oprettede job i databasen har Active = 1 så skal den vises på job siden.

Og omvendt hvis Active = 0 derimod, så skal den ikke vises.

Mit problem er, at når jeg laver en søgning uden at instaste noget i søgefeltet, så vises ALT uanset om jeg definere Active = 1 i min SQL eller ikke.

Hvad gør jeg galt?!?!

Kode:
---------------------------------------------

SELECT JobID, Title, Description, KeyWords " & _
"FROM tblJobs " & _
"WHERE Title LIKE '%" & searchString.ToString & "%' " & _
"OR Description LIKE '%" & searchString.ToString & "%' "& _
"OR KeyWords LIKE '%" & searchString.ToString & "%' " & _
"AND Active = 1 " & _
"ORDER BY JobID ASC;
---------------------------------------------

Håber at høre fra nogen

Mvh

DN
Avatar billede inglenook Praktikant
05. december 2003 - 14:36 #1
proev det her....

SELECT JobID, Title, Description, KeyWords " & _
"FROM tblJobs " & _
"WHERE (Title LIKE '%" & searchString.ToString & "%' " & _
"OR Description LIKE '%" & searchString.ToString & "%' "& _
"OR KeyWords LIKE '%" & searchString.ToString & "%') " & _
"AND Active = 1 " & _
"ORDER BY JobID ASC;
Avatar billede trer Nybegynder
05. december 2003 - 14:38 #2
Det er ret nemt. du benytter OR og AND uden at angive parenteser. Dermed skal blot et af dine kriterier være opfyldt.

Brug i stedet:

Where (title like ....  or keywords like ...) and (active=1)
Avatar billede websmith Nybegynder
05. december 2003 - 14:39 #3
Ja, jeg skulle lige til at forslå det samme. Du mangler en parantes, da SQL enginen ellers vil forstå de således.

(titel=søgestreng) eller (description=søgestreng) eller (keywords=søgestreng og active=1)

Hvis du sætter en parantes ind som inglenook har vist, så forstår den sql'en således
(titel=søgestreng eller description=søgestreng eller keywords=søgestreng) og  (active=1)
Avatar billede don_nigger Nybegynder
05. december 2003 - 14:52 #4
>>> inglenook's virker!

ALtså det her virker:

(titel=søgestreng eller description=søgestreng eller keywords=søgestreng) og  active=1


Det her virker ikke:

(titel=søgestreng eller description=søgestreng eller keywords=søgestreng) og  (active=1)

Kom med et svar.

Og tak for hjælpen til jer alle!

:)

God jul og go' weekend!
Avatar billede inglenook Praktikant
05. december 2003 - 15:50 #5
Ja og ogodt nytaar......
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