webForumDet fria alternativet

Varför använda

ASP

3 svar · 188 visningar · startad av KoTTeN

Medlem sedan sep. 20011 722 inlägg
Frågan#1

Hallå!
Sökte runt lite på ett enkelt sett att få reda på antalet posters i en databas som jag tänkte ha till en sök sida.

Då hitta jag ett antal såna här exempel:

strConnection = "DSN=myDSN"
strSQL = "SELECT * FROM table WHERE field = 'foo'"
Set rsFoo = Server.CreateObject("ADODB.Recordset")
rsFoo.cursorlocation = 3
rsFoo.cachesize = 5
rsFoo.Open strSQL, strConnection

Response.Write "Din sökning gav " & rsFoo.RecordCount & " träffar"

rsFoo.Close
Set rsFoo = Nothing

Men kan man inte likaväl ”baka” in den i loopen genom att bara plussa på med ett varje gång en post hittas?

	Do Until RecSet.EOF 

	totalt = totalt + 1
        Response.Write("En länk...")       	
        RecSet.MoveNext

        Loop

        Response.Write("Totalt hittades " & totalt & " poster.")

Eller är jag idiot förklarad nu :)

------------------
// Ronny "KoTTeN" Andersson

Medlem sedan mars 20002 836 inlägg
#2

Så om du vill presentera hur många records som fanns över listningen av resultatet skulle det ju inte bli så lyckat ..... om du nu inte vill loopa igenom alla inlägg, visa hur många poster som fanns, sedan loopa igenom en ggn till för att lista resultatet från recordsetet.

Lite bakvänt enligt min uppfattning när det finns en så behändig metod i ADODB.REcordset

cya,
PatrikB

------------------
-=* IF there is a wrong way to do something, then someone will do it *=-

Medlem sedan mars 20011 880 inlägg
#3

Så här har jag gjort ibland:

  SQL = "SELECT  count(År) AS antal, År AS logtimeadress from frTid group by År ORDER BY År DESC"
 Set RS = Server.CreateObject("ADODB.Recordset")
   RS.Open SQL, Connection, 3, 3

<%= RS("Antal")%>

Jag hoppas att denna iden kan hjälpa dig.:)

------------------
saw
__
saw@songer.com
www.mp3.com/saw_songer
_
_

Medlem sedan dec. 200012 464 inlägg
#4

Det går också. Att ställa en fråga enbart för att få reda på antalet är ju onödigt om du ändå skall visa alla poster.

Fördelen med den kod som du skrev först är att man använder ett frikopplat recordset (cursorLocation = 3). Det eller att använda getrows är det bästa sättet att hämta data då det blir färre antal anrop till databasen.

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

[Redigerat av LarsG den 15 jan 2002]

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