webForumDet fria alternativet

Räkna antalet poster...

ASP

6 svar · 192 visningar · startad av nisslass

Medlem sedan nov. 2001348 inlägg
Frågan#1

Står säkert någonannanstans men hur räknar jag antalet "records" i denna kod?

Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open Application("nyhetsdatabasen")
SQL = "SELECT top 4 * FROM Nyheter Order by Id Desc"
Set RS = Connection.Execute(SQL)
Do until RS.EOF 
id= rs("id")
rubrik = rs("rubrik")	

RS.MoveNext
Loop

OSV

Det fungerar med:?

set conn = server.createobject("adodb.connection")
conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("forum.mdb") & ";pwd=;"
sqlstmt = "SELECT * from bocker ORDER BY DateTime ASC"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sqlstmt, conn, 3, 3
antalbocker = rs.recordcount

Men då måste jag göra dubbla anrop till databasen? Vill ha allt i samma kod.

------------------
-Nicke-
nSoft.nu

Medlem sedan dec. 200012 464 inlägg
#2
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open Application("nyhetsdatabasen")
SQL = "SELECT top 4 * FROM Nyheter Order by Id Desc"
Set RS = Connection.Execute(SQL)
antalNyheter = 0
Do until RS.EOF 
id= rs("id")
rubrik = rs("rubrik") 
RS.MoveNext
antalNyheter = antalNyheter + 1
Loop

------------------
essentitia preter non sans multiplicandum

Medlem sedan nov. 2001348 inlägg
#3

Men "TOP 4" alltså blir svaret antalNyheter = 4

------------------
-Nicke-
nSoft.nu

Medlem sedan dec. 200012 464 inlägg
#4

Nej, det är ingen garanti att det blir 4 poster. Det kan bli fler eller färre.

------------------
essentitia preter non sans multiplicandum

Medlem sedan nov. 2001348 inlägg
#5

Fick svaret 4 även fast jag har garanterat fler...

------------------
-Nicke-
nSoft.nu

Medlem sedan nov. 2001348 inlägg
#6

Någon som har ett förslag?!

------------------
-Nicke-
nSoft.nu

Medlem sedan dec. 200012 464 inlägg
#7

Vill du ha totala antalet rader i tabellen men bara visa de 4 senaste?

Alternativ 1

Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open Application("nyhetsdatabasen")
set rs = connection.execute("select count(*) from nyheter")
antalNyheter = rs(0)
rs.close
SQL = "SELECT top 4 * FROM Nyheter Order by Id Desc"
Set RS = Connection.Execute(SQL)
Do until RS.EOF 
id= rs("id")
rubrik = rs("rubrik") 
RS.MoveNext
Loop

------------------
essentitia preter non sans multiplicandum

256 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)