webForumDet fria alternativet

fattar inte varför jag får felmeddelandet

ASP

6 svar · 239 visningar · startad av ampy

Medlem sedan feb. 20011 498 inlägg
Frågan#1

<%

[b]If Not isNull(recset("text")) Or recset("text") <> "" then[/b]
  

%>

Sammanlagt har <% =medlem%> skrivit 

<%
RecSet.Close

SQL4 = "SELECT * From dagbok WHERE agare = '"&medlem & "' AND sort = 'inlagg' "
RecSet.Open SQL4, Connect, adOpenStatic, adLockOptimistic 

If Not RecSet.EOF Then
		
Do Until RecSet.EOF

intLength = Len(RecSet("text"))

intSum = intSum + intLength 

RecSet.MoveNext
			Loop
		Else
			Response.Write ""
		End If
Response.Write "<b>" & intSum & "</b>"
%>
tecken i sin dagbok vilket betyder att <% =medlem%> har skrivit i genomsnitt

<%
genomsnitt = intSum / summainlagg

%>
 <b>
<%If isnull(genomsnitt) then genomsnitt = 0%>
<% =Round(genomsnitt ,2)%>
</b> tecken per inlägg.

<%

	
	else
  response.write ""
end If
%>

Om det inte finns någon text i kolumnen text så får jag detta felmedelande:

fel '80020009' 
Undantag inträffade. 

/80/dagbok.asp, line 410

Rad 410 är skriven med fetstil.

Varför får jag detta felmedelande?

Medlem sedan dec. 200012 464 inlägg
#2

Så går det när man använder PM/Memo. Du måste ta värdet från recordsetet och lagra det i en lokal variabel om du vill använda det flera gånger

<%
text = recset("text")
If Not isNull(text) Or text <> "" then
Medlem sedan feb. 20011 498 inlägg
#3

När jag lägger till din text LarsG så får jag detta felmeddelande:

ADODB.Field fel '800a0bcd'

Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats. Den begärda åtgärden kräver en aktuell post.

/80/dagbok.asp, line 410

Medlem sedan dec. 200012 464 inlägg
#4

Hur ser den kod som ligger innan if-satsen ut?

Ligger den inuti en loop där du går igenom recset?

Kan det bli något problem av att du återanvänder recset sedan?

Medlem sedan feb. 20011 498 inlägg
#5

Japp, precis innan denna kod har jag använt en loop. Se nedan:

<%
RecSet.Close

SQL = "SELECT * From dagbok WHERE agare = '"&medlem & "' AND sort = 'fakta' "
RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic

If Not RecSet.EOF Then
		
DO Until count = 5 Or RecSet.EOF

count = count +1

%>

<%If RecSet("kon") = "pojke" Then%><img src="bilder/idpojke.gif"> <%Else%><img src="bilder/idflicka.gif"><%End If%>

<font size="1" color="#000000" face="Verdana, Arial, Helvetica, sans-serif">	<a title="<%=RecSet("gast")%> som är medlem nr <%=RecSet("gastid")%>" href="krypin.asp?id=<%=RecSet("gastid")%>"><%=RecSet("gast")%></a> </font>

<br>
<%
RecSet.MoveNext
			Loop
		Else
			Response.Write "Inga medlemmar har varit här."
		End If

%>
</td>
</tr>
</table>
<br>
[b]<%
RecSet.Close

SQL4 = "SELECT * From dagbok WHERE agare = '"&medlem & "' AND sort = 'inlagg' "
RecSet.Open SQL4, Connect, adOpenStatic, adLockOptimistic 

text = recset("text")
If Not isNull("text") Or "text" <> "" then[/b]

Den kod med fetstil har jag visat tidigare.

Medlem sedan dec. 200012 464 inlägg
#6

Den här

If Not isNull("text") Or "text" <> "" then

skall vara


If Not isNull(text) Or text <> "" then

Jag skrev fel i mitt förra inlägg, tyvärr.

Nu har du ingen kontroll på att du får något resultat, så du borde lägga in det

<%
RecSet.Close

SQL4 = "SELECT * From dagbok WHERE agare = '"&medlem & "' AND sort = 'inlagg' "
RecSet.Open SQL4, Connect, adOpenStatic, adLockOptimistic 
[b]if not recset.eof then[/b]
text = recset("text")
If Not isNull(text) Or text <> "" then
Medlem sedan feb. 20011 498 inlägg
#7

Tack för hjälpen LarsG, nu funkar allt som det ska. :birp

260 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)