Tags:
asp
Nogen som kan sige hvad der er galt med den her linje.
svar = rs2("Svar")
Koden:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
<head>
<title>Mit dokument</title>
</head>
<body bgcolor = "3f3f3f">
<% mode = request("mode") %>
<%if mode = "" then%>
<div id = "newtag">
<form method="POST" action="forum.asp?mode=vis" style="margin: 0px;">
Username:<br>
<input type="text" name ="username"><br>
<textarea rows="5" cols="22" name="tag"></textarea><br>
<input type="submit" value= "Tilføj" name="Action"></form>
</div>
<%end if%>
<%
if mode = "vis" then
'Response.Write "<h1>Hej " & Request.Querystring("mode") & "</h1>"
Set Conn = Server.Createobject("ADODB.Connection")
Conn.Mode = 3
DNS = "DRIVER={Microsoft Access Driver (*.mdb)};"
DNS = DNS & "DBQ=" & Server.Mappath("login_2000.mdb")
'Database åben
Conn.Open DNS
strSQL1 = "Select * from tag"
Set rs1 = Conn.Execute(strSQL1)
'Hvis der ingen tags er
if rs1.eof or rs1.bof then
%>
Ingen tag´s
<%
else
'Lopper alle tags igennem med en løkke
Do until rs1.eof
username = rs1("username")
tag = rs1("tag")
oprettet = rs1("date")
idhent = rs1("id")
strSQL2 = "Select * from forumsvar where idnummer = " & idhent
response.write strSQL2
Set rs2 = Conn.Execute(strSQL2)
svar = rs2("Svar")
%>
<table bgcolor="#3f3f3f" cellspacing="0" border = "1px" width = "400px" height = "auto">
<tr width><td class="head">Username:<%=idhent%><%=svar%><td><td><td></tr>
<tr><td class="scroll"></td></tr>
</table><br>
<%
rs1.movenext
loop
end if
Conn.Close
Set Conn = Nothing
end if
%>
</body>
Der kan være flere ting.
Du skriver ikke fejlbeskeden, og da jeg ikke er haj til asp bliver det desværre kun til en serie mindre kvalificerede gæt, sorteret efter mit bud på sandsynlighed:
1) Du tjekker ikke for rs2.eof (/ rs2.bof)
2) Du rydder ikke på inde i dit loop
3) Du kan måske ikke have 2 results sæt åbne fra samme connection, på samme asp, samtidigt?
Uanset hvad, ville jeg nok skrive det om til et enkelt sql kald, af hastighedshensyn.
Hvad er det egentligt du vil?
Hente antal svar for hver person (tag) i dit system?
Hente seneste svar for hver person (tag) i dit system?
Der er ihvertfald noget galt, for du forsøger at hente første svar værdi, men du sorterer ikke på noget så du ved ikke hvad du får (første, sidste, tilfældig?).
Ydermere er der intet loop for rs2, så det må være en specifik værdi du er ude efter, ellers er der noget galt med logikken.
Håber det hjælper lidt.
jeg har lavet det om til det her men det virker heller ikke
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
<head>
<title>Mit dokument</title>
</head>
<body bgcolor = "3f3f3f">
<% mode = request("mode") %>
<%if mode = "" then%>
<div id = "newtag">
<form method="POST" action="forum.asp?mode=vis" style="margin: 0px;">
Username:<br>
<input type="text" name ="username"><br>
<textarea rows="5" cols="22" name="tag"></textarea><br>
<input type="submit" value= "Tilføj" name="Action"></form>
</div>
<%end if%>
<%
If mode = "vis" then
Set Conn = Server.Createobject("ADODB.Connection")
Conn.Mode = 3
DNS = "DRIVER={Microsoft Access Driver (*.mdb)};"
DNS = DNS & "DBQ=" & Server.Mappath("login_2000.mdb")
'Database åben
Conn.Open DNS
strSQL = "Select forum.username, forumsvar.svar from forum, forumsvar where forum.id = forumsvar.idnummer"
Set rs = Conn.Execute(strSQL)
'Hvis der ingen tags er
if rs.eof or rs.bof then
%>
Ingen tag´s
<%
else
'Lopper alle tags igennem med en løkke
Do
'response.write strSQL
'rs.movenext
loop while not rs.EOF
end if
Conn.Close
Set Conn = Nothing
end if
%>
</body>