Avatar billede Slettet bruger
26. februar 2002 - 11:46 Der er 7 kommentarer og
2 løsninger

SELECT STATEMENT

Jeg forstår ikke hvad der er galt her. Jeg har lavet en selectbox osv hvor man kan vælger kriterer. Men der er noget galt med SQL sætningen, fatter det ikke. Det ser sådanher ud:

if Request("Oejenfarve") = "Alle" then
oejenfarven = "' '"
else oejenfarven = Request("Oejenfarve")
end if
kat = true
katkarl = "person"
Set forbindelse = Server.CreateObject("ADODB.Connection")     
    forbindelse.Open("ocdb")   
   
    SQL = "SELECT * FROM Type_1_Profil WHERE (" & katkarl &" = "& kat &") and (Oejenfarve = "& oejenfarven &")"

Man skal kunne gå ind og søge på en persons øjenfarve, og hvis man i dropdownboxen har valgt ALLE altså alle øjenfarve, skal den vise alle. Men ellers kun den type man har valgt fx sort
Avatar billede joeblack Nybegynder
26. februar 2002 - 11:49 #1
Du mangler plinger. Prøv det her:

SQL = "SELECT * FROM Type_1_Profil WHERE (" & katkarl &" = '"& kat &"') and (Oejenfarve = '"& oejenfarven &"')"

Jeg er ikke sikker på plingerne om kat, ellers må du lige fjerne dem.
Avatar billede p_johansen Nybegynder
26. februar 2002 - 11:56 #2
Hvordan kan katkarl være lig med kat?

person = true .....
Avatar billede Slettet bruger
26. februar 2002 - 12:08 #3
Joeblack, ok det funger sku, men hvordan skal problemet løses med, at hvis nu øjenfarve  Alle så skal den vise alle. Det virker ikke med
oejenfarven = "' '"
Avatar billede joeblack Nybegynder
26. februar 2002 - 12:13 #4
Lav en anden SQL til det:

kat = true
katkarl = "person"
if Request("Oejenfarve") = "Alle" then
SQL = "SELECT * FROM Type_1_Profil WHERE (" & katkarl &" = '"& kat &"')"
else
oejenfarven = Request("Oejenfarve")
SQL = "SELECT * FROM Type_1_Profil WHERE (" & katkarl &" = '"& kat &"') and (Oejenfarve = '"& oejenfarven &"')"

end if
Avatar billede Slettet bruger
26. februar 2002 - 12:19 #5
Det bliver for besværtligt da der ikke kun skal øjenfarve med. Der er også MANGE andre af samme type som skal sætts inde i SQL sætningen. Ellers skal jeg lave 50 forskellige SQL statements, det må da kunne lade sig gøre på en anden måde. Hvad med det parameter der hedder LIKE kan det ikke bruges?
Avatar billede joeblack Nybegynder
26. februar 2002 - 12:25 #6
Jo

kat = true
katkarl = "person"
if Request("Oejenfarve") = "Alle" then
oejenfarven = "*"
else
oejenfarven = Request("Oejenfarve")
End if
SQL = "SELECT * FROM Type_1_Profil WHERE (" & katkarl &" = '"& kat &"') and (Oejenfarve LIKE '"& oejenfarven &"')"
Avatar billede rou Nybegynder
26. februar 2002 - 12:26 #7
Istedet bør du nok opbygge eet SQL statement, dynamisk, afhængigt af hvad brugeren vælger..

eks.

<%
kat = true
katkarl = "person"
oejenfarven = Request("Oejenfarve")

SQL = "SELECT * FORM type_1_profil WHERE "& katkarl &" = '"& kat &"' "
If(oejenfarven <> "Alle") Then
  SQL = SQL & "AND Oejenfarve = '"& oejenfarven &"' "
End If

%>
Så kan du bygge flere kriterier på som du har lyst

- Rou
Avatar billede Slettet bruger
26. februar 2002 - 12:35 #8
Takker til jeg begeg
Avatar billede Slettet bruger
26. februar 2002 - 12:35 #9
begge
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