/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Hvordan kan formular-indput styre udtræk f~
Fra : Ole Nilsson


Dato : 08-08-01 14:08

Følgende kode haves:

<html>
<title>Data fra access </title>
<head>
</head>
<body">
<%

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("altindhold.mdb")
Conn.Open DSN
' Kan jeg styrer disse str-SQL med yderligere betingelser ?
strSQL = "SELECT * FROM produkt WHERE mikroskoper = '" &
request.form("mikroskoper") & "'"
strSQL = "SELECT * FROM produkt WHERE producent = '" &
request.form("producent") & "'"
strSQL = "SELECT * FROM produkt WHERE type = '" &
request.form("type") & "'"

' Denne sætning er vistnok overflødig, men der kommer ingen
fejlmeld.
Set rs = Conn.Execute(strSQL)
Do
Response.Write rs("mikroskoper") & " " & rs("producent") & " " &
rs("type") & " " & rs("model.nr.") & " " & rs("beskrivelse") &
"<br><hr>"
rs.MoveNext
Loop While Not rs.EOF
Conn.Close
Set Conn = Nothing
%>
</body>
</html>

Det problem jeg har med denne asp er, at jeg ikke kan få den til
at afleverer det rigtige resultat til brugeren. Hvis brugeren
vælger mikroskoper, en speciel producent og en type, så
indeholder resultatet af forespørgselen også data, der ikke hører
til de valgte kriterier fra formularen. Formularen er sammensat
med "option" felter. Brugeren vælger fra en rullemenu. Den
fungerer fint.Der er flere felter i databasen end der er i
formularen. Disse bliver blot skrevet med ud. Disse er ikke
problemet.
Er der nogen der ved hvilke betingelser der skal indsættes i
asp-filen, således at den "retter sig" efter de valgte
formularkriterier ?

Med håbefuld hilsen

Ole Nilsson

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Kim Jensen (08-08-2001)
Kommentar
Fra : Kim Jensen


Dato : 08-08-01 14:14

> ' Kan jeg styrer disse str-SQL med yderligere betingelser ?
> strSQL = "SELECT * FROM produkt WHERE mikroskoper = '" &
> request.form("mikroskoper") & "'"
> strSQL = "SELECT * FROM produkt WHERE producent = '" &
> request.form("producent") & "'"
> strSQL = "SELECT * FROM produkt WHERE type = '" &
> request.form("type") & "'"

Her opretter du først én sql-query, dernæst erstatter du den med en anden,
og til sidste med en tredie. Derfor får du vist alle de produkter, der blot
opfylder det tredie kriterie. Prøv istedet med:

strSQL = "select * from produkter where mikroskoper='" &
request.form("mikroskoper") & "' AND producent='" &
request.form("producent") & "' AND type='" & request.form("type") & "'"

> ' Denne sætning er vistnok overflødig, men der kommer ingen
> fejlmeld.
> Set rs = Conn.Execute(strSQL)

Absolut ikke! Den er enddog MEGET vigtig. Det er jo den, der fyrer din
SQL-query af og returnerer de ønskede records i RS.


mvh
Kim Jensen




Ole Nilsson (08-08-2001)
Kommentar
Fra : Ole Nilsson


Dato : 08-08-01 15:00

Kim Jensen wrote in dk.edb.internet.webdesign.serverside.asp:
> > ' Kan jeg styrer disse str-SQL med yderligere betingelser ?
> > strSQL = "SELECT * FROM produkt WHERE mikroskoper = '" &
> > request.form("mikroskoper") & "'"
> > strSQL = "SELECT * FROM produkt WHERE producent = '" &
> > request.form("producent") & "'"
> > strSQL = "SELECT * FROM produkt WHERE type = '" &
> > request.form("type") & "'"
>
> Her opretter du først én sql-query, dernæst erstatter du den med en anden,
> og til sidste med en tredie. Derfor får du vist alle de produkter, der blot
> opfylder det tredie kriterie. Prøv istedet med:
>
> strSQL = "select * from produkter where mikroskoper='" &
> request.form("mikroskoper") & "' AND producent='" &
> request.form("producent") & "' AND type='" & request.form("type") & "'"
>
> > ' Denne sætning er vistnok overflødig, men der kommer ingen
> > fejlmeld.
> > Set rs = Conn.Execute(strSQL)
>
> Absolut ikke! Den er enddog MEGET vigtig. Det er jo den, der fyrer din
> SQL-query af og returnerer de ønskede records i RS.
>
>
> mvh
> Kim Jensen
>
> Tak for dit hurtige respons.
Faktisk var det ikke ' Set rs = Conn.Execute(strSQL) jeg mente var
overflødig. Det statement jeg ville have vist er væk, ser jeg nu. Min fejl
>


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408857
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste