webForumDet fria alternativet

EOF och sortering?

ASP

6 svar · 253 visningar · startad av medialabs

Medlem sedan mars 20023 686 inlägg
Frågan#1

Tjenare,

har lyckats få ihop en fungerande kod för att presentera lite information till användaren. Nu till mitt problem, skulle vilja skriva ut ett meddelande till användaren om det inte finns något inlagg i databasen.

och även sortera de olika "memo:rna" efter datum om det går. har. :)

<%
Set ConnectMEMO = Server.CreateObject("ADODB.Connection")
ConnectMEMO.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=g:\home\medialabs.se\plus.mdb"

SQL = "SELECT * From tblmemo WHERE struser = '" & session("id") &"'"
Set RecSetMEMO = ConnectMEMO.Execute(SQL)
	
%>

<%Do until RecSetMEMO.EOF%>

	<b>Datum:</b> <%=RecSetMEMO("strtid")%><br>
	<b>Memo:</b> <%=RecSetMEMO("strmemo")%><br>
	<br><table width="100%" border="0" cellspacing="0" cellpadding="0">
                          <tr>
                            <td height="1" bgcolor="#EBF0F5"></td>
                          </tr>
                        </table><br>
	<%RecSetMEMO.MoveNext%>

	<%Loop%>

<%
RecSetMEMO.Close
Set RecSetMEMO = nothing
ConnectMEMO.Close
Set ConnectMEMO = nothing
%>
Medlem sedan juni 200032 967 inlägg
#2
<%
Set ConnectMEMO = Server.CreateObject("ADODB.Connection")
ConnectMEMO.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=g:\home\medialabs.se\plus.mdb"

SQL = "SELECT * From tblmemo WHERE struser = '" & session("id") &"' [b]ORDER BY dittdatumfält[/b]"
Set RecSetMEMO = ConnectMEMO.Execute(SQL)
	
[b]If RecSetMEMO.EOF then
     Response.write "Finns ju inget! :("
End if[/b]

Do until RecSetMEMO.EOF%>

	<b>Datum:</b> <%=RecSetMEMO("strtid")%><br>
	<b>Memo:</b> <%=RecSetMEMO("strmemo")%><br>
	<br><table width="100%" border="0" cellspacing="0" cellpadding="0">
                          <tr>
                            <td height="1" bgcolor="#EBF0F5"></td>
                          </tr>
                        </table><br>
	<%RecSetMEMO.MoveNext%>

	<%Loop%>

<%
RecSetMEMO.Close
Set RecSetMEMO = nothing
ConnectMEMO.Close
Set ConnectMEMO = nothing
%>

Mvh

Medlem sedan mars 20023 686 inlägg
#3

@nders!

helt underbart!

tackar igen :)

Medlem sedan juni 200032 967 inlägg
#4

Varsågod. :)

Medlem sedan feb. 200112 078 inlägg
#5

Jag skulle vilja fråga @nders varför han har valt att inte lägga loopen inuti if-satsen som kontrollerar recordset:et. Om det nu är tomt på riktigt och det där skrivs ut, kan det fortfarande dyka upp ett felmeddelande på raden under när loopen drar igång.

Medlem sedan juni 200032 967 inlägg
#6

Nja, loopen drar aldrig igång, så det behövs egentligen inte. Men visst, av tydlighetsskäl skulle jag väl kunna tänkas lägga in loopen i en else-del av if-satsen.

Mvh

Medlem sedan feb. 200112 078 inlägg
#7

Jag har dock bestämt för mig att loopar kan generera fel om recordset:et är EOF. Det jag tvekar på är ifall det gäller Do Until-loopar eller om det kanske bara gäller While...

Hur som helst, jag har fått felmeddelandet själv några gånger, så av säkerhetsskäl kan det ju vara bra att ta som för vana att göra så. :)

283 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
150 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)