webForumDet fria alternativet

problem med eof om inte data finns

ASP

14 svar · 937 visningar · startad av WebbisNet

Medlem sedan feb. 20032 027 inlägg
Frågan#1

Detta ska väl skriva ut text om det inte finns data i tabellen

<%if showAll.EOF or showAll.BOF THEN
Response.Write "Inga medlemmar har klottrat än"
else
do until showAll.eof%>
<!--#include virtual="/Skriva/klotter/inlaggen.asp"-->
<%showAll.MoveNext: Loop
END IF%>
Medlem sedan juni 200032 967 inlägg
#2

Detta ska väl skriva ut text om det inte finns data i tabellen

Nej. Vad som finns i "tabellen" är irrelevant. Recordsetet däremot; ja.

Medlem sedan feb. 20032 027 inlägg
#3

@nders skrev:

Detta ska väl skriva ut text om det inte finns data i tabellen

Nej. Vad som finns i "tabellen" är irrelevant. Recordsetet däremot; ja.

men vad gör jag för fel när det inte skrivs ut nåt meddelande när mitt rs är tomt, tabellen är tom så det finns inga poster att returnera

Medlem sedan dec. 20025 483 inlägg
#4

Öppnar du recordsetet?

Medlem sedan feb. 2005248 inlägg
#5

Såvida sidan fungerar som den ska så skriver den antingen ut texten eller inkluderar filen. Det kanske är så att recordsetet inte är tomt?

Sen vill jag också anmärka på det där med include. Du kan inte lägga in det sådär eftersom include-filerna alltid körs innan ASP-koden. Använd istället Server.Execute. Kan vara det som ställer till allting.

Medlem sedan feb. 20032 027 inlägg
#6

Hur hanterar man Server.Execute, testade med

<%if showAll.EOF or showAll.BOF THEN
Response.Write "Inga medlemmar har klottrat än"
else
do until showAll.eof
Server.Execute "/Skriva/klotter/inlaggen.asp"
showAll.MoveNext: Loop
END IF%>

och fick samma rs-fel som innan

Medlem sedan juni 200032 967 inlägg
#7

Varför ska du inkludera eller exekvera en fil mitt i loopen? Låter helt fel.
Vad menar du med "samma rs-fel som innan"?

Medlem sedan feb. 20032 027 inlägg
#8

@nders skrev:

Varför ska du inkludera eller exekvera en fil mitt i loopen? Låter helt fel.
Vad menar du med "samma rs-fel som innan"?

för att inte ha en jäkla massa rader kod för klottret så har jag en del i includes för att lättare kunna felsöka om nåt händer, så därför vill jag göra på det här sättet om man nu kan göra så

Medlem sedan feb. 2005248 inlägg
#9

Men det förklarar inte varför du vill inkludera inlagg.asp lika många gånger som du har poster i recordsetet?

Medlem sedan feb. 20032 027 inlägg
#10

När jag lägger in en rad så det är inte tomt så funkar

<%do until showAll.eof %>
<tr>
<td rowspan="2" valign="top">
<a href="JavaScript:Pic(<%=showAll("userID")%>);">
<%If showAll("fotovalidering") = 1 Then%>
 <img src="/images/users/valideringsbild.jpg" width="40" height="50" border="0" />
 <%Else%>
  <img src="/images/users/<%=showAll("picture")%>" width="40" height="50" border="0" />
  <%End If%>

</a>
</td>
<td valign="top">
<table cellpadding="0" cellspacing="0" border="0" height="100%" class="presentation1">
<tr>
<td>
<strong class="definition">
<%if not showAll("userID") = 1 then%>
&nbsp;<a  href="/view.asp?userID=<%=showAll("userID")%>"><b><%=maketext(showAll("klottrare"))%></b></a>&nbsp; <%=showAll("sex")%>&nbsp;<%=alder(showAll("persnr"))%> år, <%=right(replace(showAll("klotterDatum"),"-",""),6)%>&nbsp;<%=showAll("klotterTime")%>
<%else%>
&nbsp;<b><%=showAll("klottrare")%></b>&nbsp; <%=maketext(showAll("sex"))%>&nbsp;<%=alder(showAll("persnr"))%> år,
<%=right(replace(showAll("klotterDatum"),"-",""),16)%>&nbsp;<%=showAll("klotterTime")%>
<%end if%>
&nbsp;<%if showAll("vip") = 1 then
response.write vipicon
End If%>
&nbsp;
	</strong>

<!--<a href="JavaScript: replyGB(<%=showAll("userID")%>,'<%=showAll("username")%>')";  title="Skicka gästboksinlägg till <%=showAll("username")%>">| GB</a>-->

<strong class="definition">
<%'if vipRS("vip") = 1 or pm2noVIP=true then%>
<!--<a href="replymail.asp?userID=<%=showAll("userID")%>"  title="Skicka PM till <%=showAll("username")%>">| PM</a>-->
<%'end if%>
<!--<a href="/Gallery/?userID=<%=showAll("userID")%>&usr=<%=showAll("username")%>"   title="Kika i <%=showAll("username")%>s galleri">| Bildgalleri |</a>-->
&nbsp;<span style="font-family:Arial, Helvetica, sans-serif; font-size:13px; font-weight:normal;">Inlägg: <%=showAll("klotterID")-108%></span>&nbsp;
<%if showAll("sms") = 1 then
response.write "<td><b>SMS-klotter</b></a></td>"
elseif showAll("wap") = 1 then
response.write "<td><b>WAP-klotter</b></a></td>"
end if%>
</strong>

 <strong class="definition"> <%=Round(showAll("poang"),2)%> poäng</strong>
</tr>
</table>

</td>
<td rowspan="2" valign="middle" width="30">
<strong class="definition">
<%if showAll("wap") = 1 then
response.write "<img src=""/images/icons/mobile.gif"">"
elseif showAll("sms") = 1 then
response.write "<img src=""/images/icons/cellphone.gif"">"
end if%>
</td>
<td rowspan="2" valign="middle" width="100">
<%if showAll("inloggad") = 1 then%>
<font color="green">Online</font>
<%else%>
<font color="red">Offline</font>
</strong>
<%end if%>

<strong class="definition">
<%Set adminRS=objConn.Execute("Select * from tblUsers Where userID="& UserID)
if adminRS("admin") = 1 or adminRS("moderator") = 1 then%>
<br>
<a  href="delKlotter.asp?id=<%=showAll("klotterID")%>">Radera</a>
<br>
<a  href="blockera.asp?id=<%=showAll("userID")%>">Blockera</a>
<br>
<a  href="editKlotter.asp?ID=<%=showAll("klotterID")%>">Redigera</a>
<%end if%>
</strong>
</td>
</tr>
<tr>
<td valign="top" align="left" colspan="2" style="padding:3px;" valign="top">
<strong class="definition">
<%If showAll("vip") = 1 Then
textToCheck=convertLink(replace(maketext(makeHtml(showAll("klotterText"))),vbCrLf,"<br>")) &""
Else
textToCheck=replace(showAll("klotterText"),vbCrLf,"<br>") &""
End If

Response.write cutBadwords(readall,textToCheck)%>
</strong>
</td>
</tr>
<tr>
<td valign="bottom" colspan="3">
<hr style="border-style:dotted; border-width:1px; border-color:#61a1b2;%>">
</td>
</tr>
<%showAll.MoveNext: Loop%>

och

<%do until showAll.eof
<!--#include virtual="/Skriva/klotter/inlaggen.asp"-->
<%showAll.MoveNext: Loop
END IF%>

De gör precis samma sak men den andra är smidigare fast ingen har nån kontroll för om rs är tomt

Medlem sedan feb. 20032 027 inlägg
#11

Ladytron skrev:

Men det förklarar inte varför du vill inkludera inlagg.asp lika många gånger som du har poster i recordsetet?

Det var lite feltänkt erkänner jag men jag vill kunna ha exempel 2 som är smidigare med en kontroll om rs är tomt, om det nu går att ha

Medlem sedan juni 20019 519 inlägg
#12

include kan inte vara inne i en <% %> tagg... + varför ladda in samma data för varje loop du gör? verkligen inte något som kommer att fungera om du har funktioner i din include.

Medlem sedan feb. 2005248 inlägg
#13

Det är väl inte krångligare än såhär?

<%
If showAll.EOF OR showAll.BOF Then
Response.Write "Inga medlemmar har klottrat än"
Else
Server.Execute("fil.asp")
End If
%>

Medlem sedan feb. 20032 027 inlägg
#14

samma sak med denna del, jag får
error '80020009'

/senasteInloggade.asp, line 61

med denna kod

<%if latest.eof then
response.write "Inga poster"
Else
do until latest.EOF%>
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<%if UserID = 1 and not latest("userID") = 1 then%>
<td valign="top" align="left" width="40">
<a  href="index.asp?delete=user&userID=<%=latest("userID")%>">x</a>
</td>
<%end if%>

<td width="70" align="left">
 <%if not latest("userID") = 1 then
if latest("picture") = "noPic.jpg" or latest("picture") = "nopic.jpg" or latest("picture") = "" or latest1("picture") = "kelsjuk.jpg" then%>
&nbsp;
 <%else%>
<a  href="JavaScript: Pic(<%=latest("userID")%>);">Visa bild</a>
<%end if
end if%>
 </td>

<td width="80">
<%if not latest("userID") = 1 then

if latest("vip") = 1 then
response.write vipicon
End If

If latest("Sex") = "M" Then
	 Response.Write maleIcon
ElseIf latest("Sex") = "F" Then 
	Response.Write femaleIcon
Else 
	Response.Write coupleIcon
End If%>
</td>
<td width="120">
<a href="/view.asp?userID=<%=latest("userID")%>" onmouseover="return escape('<table><tr><td class=presentation1 align=center colspan=2>Info om <%=latest("username")%></td></tr><td class=presentation width=150 valign=top>Ålder: <%=alder(latest("persnr"))%><br>Söker: <%=latest("sokerItem")%><br>Civilstatus: <%=latest("statusItem")%><br>Personlighet: <%=latest("personlighetItem")%></td><td align=right valign=top><img src=\'/images/users/<%=latest("picture")%>\' height=\'80\' width=\'70\'></td></tr></table>')" >

<%usr = latest("username")
if len(usr) > 20 then usr = Left(usr, 20) & ".."
if latest("inloggad") = 1 then
  response.write "<span style=""color: definition;"">" & usr &"</strong>"
else
  response.write usr
end if
End If%>
</b></a>
</td>
<td align="left" width="140">
<strong class="definition">
<%if not latest("userID") = 1 then

if not TStamp = "" then
response.write right(replace(latest("Tstamp"),"-",""),15)
else
Ingen post
end if
end if%>
</strong>
</td>

<%if latest("userID") <> 1 then%>
<td width="240">
<strong class="definition">
<%=latest("city")%> i <%=latest("community")%>
</td>
<td width="30">
<%If latest("validUser") = 1 Then
	 Response.Write "<img src=""/images/lock-small.gif"">"
End If%>
</strong>
</td>
<%end if%>
</tr>
</table>
<%latest.MoveNext: Loop
end if%>
Medlem sedan juni 20014 421 inlägg
258 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)