webForumDet fria alternativet

EOF ändå!!!

ASP

23 svar · 301 visningar · startad av Lina

Medlem sedan jan. 2001332 inlägg
Frågan#1

Hej alla....

Jag har en sida där jag ska lista en massa skämt från en databas...
I databasen ligger det över 2000 skämt så därför skall det göras en paging på den sidan...

Alt funkar om man lägger listningen med en lopp i en tabell på en kolumn....
Men när jag vill lägga till så att historierna kommer två på varje rad kärvar det ihop sig....

Den koden jag har testat med ser ut så här:

Do while y < rsAllJokes.PageSize AND NOT rsAllJokes.EOF%>
<tr><td class=LitenBrodText><b><%=rsAllJokes("JokeContent")%></b><br>
Insänd av: <%=rsAllJokes("JokeOwnerNickName")%><br>&nbsp;</td></tr>
<%rsAllJokes.MoveNext
If rsAllJokes.EOF Then%>
<tr><td>&nbsp;</td></tr>
<%else%>
<tr><td class=LitenBrodText><b><%=rsAllJokes("JokeContent")%></b><br>
Insänd av: <%=rsAllJokes("JokeOwnerNickName")%><br>&nbsp;</td></tr>
<%End if
y=y+1
rsAllJokes.MoveNext
Loop

Felmeddelandet jag får är:
Error Type:
ADODB.Recordset (0x800A0BCD)
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
/bite-it/bite-it/sweden/tower/jokes.asp, line 63

Rad 63 är den sista movenexten innan loopen...

Snälla...
Jag har kört fast....
Finns det någon som kan hjälpa mig?

------------------
Du lever bara en gång och den gången är nu!

Medlem sedan juli 2001458 inlägg
#2

Hmm...

Jag tror att du kanske har något fält i en post som är tomt i databasen.

Om så är fallet är det bara ändra i egenskapen "tillåta nolllängd" till "Ja" för det fältet ska kunna presenteras.

/TT

------------------
There is no Tomorrow...

Medlem sedan jan. 2001332 inlägg
#3

Alla fält har värden och alla fält är satta att tillåta nollvärden...

Men det hjälper ändå inte....

:(

------------------
Du lever bara en gång och den gången är nu!

Medlem sedan juni 200032 967 inlägg
#4

något sånt härnt skulle jag göra.

[red]<%
y=0
Do while y < rsAllJokes.PageSize 
	if rsAllJokes.EOF Then exit do
	if y mod 2 = 0 then %>
		<tr><td class=LitenBrodText><b><%=rsAllJokes("JokeContent")%></b><br>
		Insänd av: <%=rsAllJokes("JokeOwnerNickName")%></td>
	<% else %>
		<td class=LitenBrodText><b><%=rsAllJokes("JokeContent")%></b><br>
		Insänd av: <%=rsAllJokes("JokeOwnerNickName")%></td></tr>

	<% end if
	y=y+1
	rsAllJokes.MoveNext
Loop
if y mod 2 <> 0 then Response.Write "</tr>"
%>[/red]

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

Medlem sedan feb. 200112 078 inlägg
#5

Glöm vad jag skrev :) jag ärinte vaken :e

------------------
I have comed to take what is rightfully mine. Existence in eternity. And all i need is your creditcard number. | Existence

[Redigerat av OveRRidE den 25 jul 2001]

Medlem sedan jan. 2001332 inlägg
#6

Hmmm....

Kan du förklara lite hur den koden funkar???

Vill ju liksom veta vad jag gör....

Den loopen jag visade förut fungerar om man tar bort den rsAllJokes.moveNext som ligger precis innan if-satsen, men då får jag ju samma historia en gång till...
Jag måste väl kunna flytta markören på recordsetet utan att vända loppen eller??? Jag vet att jag har gjort något liknande förut, men kan inte komma på vart!

Nu virrar jag till det i min lilla hjärna... Får nog akta mig så det inte blir härdsmälta...

*suck*

------------------
Du lever bara en gång och den gången är nu!

Medlem sedan feb. 200112 078 inlägg
#7

Kan det inte vara så att om nu else-delen av din if-sats uppfylls så är ju redan recordsetet "slut" eftersom du frågar:

"om det inte finns några mer poster, skriv då ut detta.."

då är ju redan recsetet EOF och då går det ju inte att skriva ut det som står i else-satsen..

@anders.. har jag fel? :)

------------------
I have comed to take what is rightfully mine. Existence in eternity. And all i need is your creditcard number. | Existence

Medlem sedan jan. 2001332 inlägg
#8

Ahhhhhhhhh!!!!

Tack OveRRidE!!!

Den sista rsAllJoke.MoveNext ska ju givetvis ligga innanför else-satsen....

Tack, tack, tack....

------------------
Du lever bara en gång och den gången är nu!

Medlem sedan juni 200032 967 inlägg
#9

lina, först och främst så skulle jag vilja veta om min kod-klutt fungerar. skrev otestat ur huvet.

i övrigt använder jag din räknare y, och varannat skämt får en <tr> först och varannat får en </tr> sist.

man skall undvika att använda .movenext på mer än ett ställe i användandet av recordsetet.

mvh,

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

Medlem sedan feb. 200112 078 inlägg
#10

Vassego.. :)

------------------
I have comed to take what is rightfully mine. Existence in eternity. And all i need is your creditcard number. | Existence

Medlem sedan juni 200032 967 inlägg
#11

lina, förstår dock inte hur din kod får två på samma rad, eftersom de ligger i olika tabellrader, men det kanske bara var jag som missuppfattade grundproblemet?

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

Medlem sedan jan. 2001332 inlägg
#12

@nders...

Ja din kod fungerade...
Fick sätta dit en del end if, men annars funkar den bra...

Varför skall man undvika att använda fler än en .movenext???

------------------
Du lever bara en gång och den gången är nu!

Medlem sedan jan. 2001332 inlägg
#13

Nä, jag såg att det var lite för många <tr>...

Koden jag hade som funkar nu till slut ser ut så här:

Do while y < rsAllJokes.PageSize AND NOT rsAllJokes.EOF%>
<tr><td class=LitenBrodText valign=top><b><%=rsAllJokes("JokeContent")%></b><br>
Insänd av: <%=rsAllJokes("JokeOwnerNickName")%><br>&nbsp;</td>
<%rsAllJokes.MoveNext
If rsAllJokes.EOF Then%>
<td>&nbsp;</td></tr>
<%else%>
<td class=LitenBrodText valign=top><b><%=rsAllJokes("JokeContent")%></b><br>
Insänd av: <%=rsAllJokes("JokeOwnerNickName")%><br>&nbsp;</td></tr>
<%
rsAllJokes.MoveNext
End if
y=y+1
Loop

Men det bästa med det här är ju att nu kan jag välja ju...
:e

------------------
Du lever bara en gång och den gången är nu!

Medlem sedan juni 200032 967 inlägg
#14

en del end if? var då någonstans? ja,ja. :)

man skall undvika onödiga .movenext för att de oftast bara skapar problem. det är svårt att hålla koll på vad koden gör, krångligt att hänga med i svängarna.

värre än så är det inte.

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

Medlem sedan jan. 2001332 inlägg
#15

På din första och din tredje if-sats var jag tvungen att lägga till end if direkt efter...

y=0
Do while y < rsAllJokes.PageSize 	
	if rsAllJokes.EOF Then exit do	end if
		if y mod 2 = 0 then %>
			<tr><td class=LitenBrodText valign=top><b><%=rsAllJokes("JokeContent")%></b><br>
			Insänd av: <%=rsAllJokes("JokeOwnerNickName")%></td>	
	<% else %>
			<td class=LitenBrodText valign=top><b><%=rsAllJokes("JokeContent")%></b><br>
			Insänd av: <%=rsAllJokes("JokeOwnerNickName")%></td></tr>	
	<% end if	
y=y+1	
rsAllJokes.MoveNext
Loop
if y mod 2 <> 0 then Response.Write "</tr>" end if

Fick expected end of statement....

Men nu funkar det...

Tackar så mycket för hjäplen...

------------------
Du lever bara en gång och den gången är nu!

Medlem sedan feb. 200112 078 inlägg
#16

*skratt*

ser verkligen @nders förskräckta uppsyn.. "Va! End if? Var? Va!"

:e

------------------
I have comed to take what is rightfully mine. Existence in eternity. And all i need is your creditcard number. | Existence

[Redigerat av OveRRidE den 25 jul 2001]

[Redigerat av OveRRidE den 25 jul 2001]

Medlem sedan juni 200032 967 inlägg
#17

va!

if rsAllJokes.EOF Then exit do end if

det är syntaxvidrigt att ha end if på samma rad som if, och jag trodde inte att man fick det. faktiskt.

jag kräver att min kod fungerar som jag skrev den! ;)

override: :e

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

Medlem sedan jan. 2001332 inlägg
#18

:e

@nders: Jag håller helt och håller med dig. Enligt alla konstens regler ska du inte behöva end if om den ligger på samma rad ju, men tydligen behövdes det för min dator vägrade visa det om jag inte satte dit dom....

:h

------------------
Du lever bara en gång och den gången är nu!

Medlem sedan juni 200032 967 inlägg
#19

ok, fel på din dator alltså. :) :e

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

Medlem sedan jan. 2001332 inlägg
#20

Kan så vara.... :)

Ska lägga upp sidan på en skarp server och testa utan end...

Återkommer...

------------------
Du lever bara en gång och den gången är nu!

261 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)