02. marts 2002 - 11:50Der er
12 kommentarer og 3 løsninger
Arrg hvad går der galt ?
id = request("id") if request("id") = "" then Set rs= Connect.Execute("SELECT top 1 * FROM tnyheder ORDER BY dato DESC") if not RS.EOF then id = rs("id") ' Må kun anvendes hvis RS ikke er tom set rs2 = connect.execute("SELECT * FROM tnyheder WHERE id LIKE '" & rs("id") & "'") else set rs = connect.execute("SELECT * FROM tnyheder ORDER BY dato DESC") set rs2 = connect.execute("SELECT * FROM tnyheder WHERE id LIKE '" & request("id") & "'") end if end if
Hvis jeg kalder arkiv.asp er der ingen fejl men hvis jeg bruger arkiv.asp?id=9 får jeg fejlen:
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Det skyldes sandsynligvis enten at ID er et reserveret ord i din database (brug [ID] i stedet), eller at ID er et numerisk felt i databasen (fjern ' om ID i dit SQL statement).
id = request("id") if request("id") = "" then Set rs= Connect.Execute("SELECT top 1 * FROM tnyheder ORDER BY dato DESC") if not RS.EOF then id = rs("id") ' Må kun anvendes hvis RS ikke er tom set rs2 = connect.execute("SELECT * FROM tnyheder WHERE [id] LIKE " & rs("id") & "") else set rs = connect.execute("SELECT * FROM tnyheder ORDER BY dato DESC") set rs2 = connect.execute("SELECT * FROM tnyheder WHERE [id] = " & request("id") & "") end if end if
Men det giver samme fejl ?
stig3 >> Hvis jeg gør som du siger virker det jo ikke da den skal fange id der bliver sendt med.
id = request("id") if request("id") = "" then Set rs= Connect.Execute("SELECT top 1 * FROM tnyheder ORDER BY dato DESC") if not RS.EOF then id = rs("id") ' Må kun anvendes hvis RS ikke er tom set rs2 = connect.execute("SELECT * FROM tnyheder WHERE [id] =" & rs("id")) else set rs = connect.execute("SELECT * FROM tnyheder ORDER BY dato DESC") set rs2 = connect.execute("SELECT * FROM tnyheder WHERE [id] = " & request("id")) end if end if
ellebaek >> dit sidste forslag er en meget dy måde at få en record på, da en order by koster i performance på databasen, hvorimod en ID=X udnytter indekset på tabellen :-)
Ok har rodet med det det der går galt er at selv om der står noget i id ( arkiv.asp?id=9 ) så kører den ikke det der står i "else"
else set rs2 = connect.execute("SELECT * FROM tnyheder WHERE [id] = " & request("id") & "") set rs = connect.execute("SELECT * FROM tnyheder ORDER BY dato DESC")
Hvorfor gør den ikke det ?
Hvis jeg flytter rs2 ned under sidste end if så virker det med parameter på id MEN ikke uden ???
Din else gælder kun for den 2. if. Ud fra din sidste kommentar, lyder det som om du mangler en else efter din 1. end if ?
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.