26. februar 2002 - 11:46Der 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
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 = "' '"
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
Synes godt om
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?
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 &"')"
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
Synes godt om
Slettet bruger
26. februar 2002 - 12:35#8
Takker til jeg begeg
Synes godt om
Slettet bruger
26. februar 2002 - 12:35#9
begge
Synes godt om
Ny brugerNybegynder
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.