13. februar 2004 - 23:13
Der er
26 kommentarer og 2 løsninger
Querystring Problem
Jeg har et problem med min ASP spaghetti.. Synes selv at det ser fornuftigt ud, men det lader ikke til at virke. Nogle som har en evt. løsning? <% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("db/content.mdb") Conn.Open DSN strSQL = "Select * from vstilling where side = " & Request.Querystring("side") Set rs = Conn.Execute(strSQL) if rs.eof then %> <html> <head> <title>illiun</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#F1F2F3"> <center> <table cellspacing="0" cellpadding="0" width="450" height="50"> <td style="border-top:1px solid #999999" width="50%" bgcolor="#FFFFFF"> <div align="right"> ... <b id="titel"> <% response.write "HTTP 404 - Page not found! Denne side eksisterer ikke." else do response.write "" &rs("titel")& ""%></b> | <%response.write "" &rs("link1")& ""%> | <% response.write "" &rs("link2")& ""%> </div> </td> </tr> <table> <td id="titel"> | <a href="nb/nyhed.asp" target="main">nyheder</a> | <a href="system/content.asp?id=35" target="main">om mig</a> | <a href="system/content.asp?id=36" target="main">misc</a> | <a href="journal/jourpass.asp" target="main"> journal</a> | <a href="gbog/gbog.asp" target="main">gæstebog</a> | <a href="system/content.asp?id=37" target="main">kontakt</a> | </td> </table> <table height="100%"> <tr> <td width="450" height="90%" valign="top" bgcolor="white"> <iframe src="<%response.write "" & rs("src") & ""%>" name="main" width="100%" height="100%" frameborder="0"></iframe> </td> </tr> </table> </table> </center> </html> </body> <% rs.MoveNext Loop While Not rs.EOF end if Conn.Close Set Conn = Nothing %>
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
13. februar 2004 - 23:17
#1
du mangler et "NOT" i sætningen: if rs.eof then
13. februar 2004 - 23:17
#2
hvilken fejl får du? Ekvis denne if sætning gør at den kun viser siden hvis den ikke finder noget i database: if rs.eof then Så den skal være: if not rs.eof then
13. februar 2004 - 23:18
#3
hov, jeg så ikke din "else". Der skal da ikke "do" efter "else"
13. februar 2004 - 23:18
#4
Et eller andet sted mangler der et: do
13. februar 2004 - 23:19
#5
glemt mine kommentare..... :) det nok bedst med: hvilken fejl får du?
13. februar 2004 - 23:20
#6
Tjaeh, i følge min computer så står der: Fejltype: Microsoft OLE DB Provider for ODBC Drivers (0x80040E10) [Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var ventet 1. /Default.asp, line 9
13. februar 2004 - 23:23
#7
Prøv lige at lave en: response.write(Request.Querystring("side")) og se hvad der kommer med
13. februar 2004 - 23:23
#8
Ok, det er så relateret til denne linje: strSQL = "Select * from vstilling where side = " & Request.Querystring("side") Typisk betyder den fejl at Request.Querystring("side") så er tom og den så ikke indeholder et tal.
13. februar 2004 - 23:27
#9
Jeg kan ikke lave en response.write da siden slet ikke kommer frem.
13. februar 2004 - 23:34
#10
Du skal også lave en Response.End lige efter for fejlen ikke kommer: response.write(Request.Querystring("side")) response.End men i linket til siden står der xxxx.asp?side=233 ?
13. februar 2004 - 23:37
#11
der står: default.asp?side=nyheder Jeg har allerede tilføjet værdier i DB'en så det lyder skummelt at den så skulle være tom.
13. februar 2004 - 23:38
#12
Linien skal så være: strSQL = "Select * from vstilling where side = '" & Request.Querystring("side") & "'"
13. februar 2004 - 23:38
#13
Arh ok så skal der ping ' omkring i SQL sætningen når det er en tekst kolonne: Prøv at rette denne linje: strSQL = "Select * from vstilling where side = " & Request.Querystring("side") Til denne: strSQL = "Select * from vstilling where side = '" & Request.Querystring("side") & "'"
13. februar 2004 - 23:42
#14
Det begynder at se lidt mere fornuftigt ud nu, men den gider vist ikke printe dataen ud. Kan være det er en fejl fra min side. Vil lige kigge lidt på det og skrive hvis der skulle være flere probs.
13. februar 2004 - 23:49
#15
<td> ... <b id="titel"> <% response.write "HTTP 404 - Page not found! Denne side eksisterer ikke." else do response.write "" &rs("titel")& ""%></b> | <%response.write "" &rs("link1")& ""%> | <% response.write "" &rs("link2")& ""%> </div> </td> Jeg forstår ikke hvorfor den ikke printer den her celle ud... Kan det være fordi at <% response.write "HTTP 404 - Page not found! Denne side eksisterer ikke." else do Skal stå før cellen begynder? Kan det ikke lade sig gøre at lade den blive indeni?
13. februar 2004 - 23:49
#16
Umddeltbart ville jeg mene kode skulle vær sådan her fordi, den ikke viser <html>'s hvis der er noget i databasen. <% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("db/content.mdb") Conn.Open DSN strSQL = "Select * from vstilling where side = '" & Request.Querystring("side") & "'" Set rs = Conn.Execute(strSQL) %> <html> <head> <title>illiun</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#F1F2F3"> <center> <table cellspacing="0" cellpadding="0" width="450" height="50"> <% if rs.eof then %> <tr> <td style="border-top:1px solid #999999" width="50%" bgcolor="#FFFFFF"> <div align="right">... <b id="titel"> <% response.write "HTTP 404 - Page not found! Denne side eksisterer ikke." %> </div> </td> </tr> <% else do %> <tr> <td style="border-top:1px solid #999999" width="50%" bgcolor="#FFFFFF"> <% response.write "" &rs("titel")& ""%></b> | <%response.write "" &rs("link1")& ""%> | <% response.write "" &rs("link2")& ""%> </td> </tr> <table> <td id="titel"> | <a href="nb/nyhed.asp" target="main">nyheder</a> | <a href="system/content.asp?id=35" target="main">om mig</a> | <a href="system/content.asp?id=36" target="main">misc</a> | <a href="journal/jourpass.asp" target="main"> journal</a> | <a href="gbog/gbog.asp" target="main">gæstebog</a> | <a href="system/content.asp?id=37" target="main">kontakt</a> | </td> </table> <table height="100%"> <tr> <td width="450" height="90%" valign="top" bgcolor="white"> <iframe src="<%response.write "" & rs("src") & ""%>" name="main" width="100%" height="100%" frameborder="0"></iframe> </td> </tr> </table> </table> </center> </html> </body> <% rs.MoveNext Loop While Not rs.EOF end if Conn.Close Set Conn = Nothing %>
13. februar 2004 - 23:52
#17
Orv! Mange tak! Det virker rigtig godt nu. Jeg ved ikke hvem af jer der skal modtage point'ne.. Kan man godt dele dem i to når man ud deler?
13. februar 2004 - 23:56
#18
Jo det kan du, enten ½ til hver ved at markere begge navne og tryk accepter eller i advanceret kan du skrive et point antal til hver, men det kræver lige et svar :)
14. februar 2004 - 00:00
#19
Lækkert :) Så lad os håbe rbl skriver et svar indenlænge. Jeg har lige et ekstra spg. Når folk går ind på min default.asp fil så siger det sig selv den ikke viderestiller til default.asp?side=nyheder Kan man bruge en response.redirect til at fører siden videre til ?side=nyheder? Eller skal jeg forsøge med noget andet?
14. februar 2004 - 00:05
#20
if Request.Querystring("side") = "" then side = "nyheder" end if
14. februar 2004 - 00:05
#21
Nej du kan lave en if sætnignen som redirecter hvis side er tom: if Request.QueryString("side") = "" then Response.Redirect ("default.asp?side=nyheder")
14. februar 2004 - 00:08
#22
Hvor henne i min kode skal den så indsættes? Går udfra et sted i toppen?
14. februar 2004 - 00:09
#23
Jeps evt helt i toppen, før du udføre SQL sætningen :)
14. februar 2004 - 00:15
#24
Du kan også gøre det uden response.redirect: side = Request.Querystring("side") if side = "" then side = "nyheder" end if strSQL = "Select * from vstilling where side = '" & side & "'"
14. februar 2004 - 02:00
#25
Jeg har besluttet mig for at bruge frameset istedet for iframe for at undgå 2x scrollbars. Men den lader ikke til at printe dataen ud? <frameset cols="100%"> <frame src=<% response.write "" & rs("src") & "" %>> </frameset> Jeg ved ikke om jeg bør oprette en ny tråd ang. det her, men synes på en måde det hører ind under den her. Håber det er ok :)
14. februar 2004 - 10:49
#26
det skulle vel ellers være det samme?? måske: <frame src="<% response.write "" & rs("src") & "" %>"> kan man ikke styre scrollbars i en iframe?
14. februar 2004 - 12:49
#27
Jo, det kan man godt men så får man ikke hele siden med hvis der er meget tekst. Vil gerne have at den printer dataen ud i én celle.. derved skal der kun benyttes en scrollbar nemlig den som tilhører default.asp. Iøvrigt virker det vist ikke helt med frameset. Der kommer nemlig ingenting frem :(
14. februar 2004 - 15:03
#28
hvilke alternativer har jeg egentlig?
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.