webForumDet fria alternativet

Gamla RecSet funkar, men inte nya

ASP

5 svar · 365 visningar · startad av Oputres

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

Allå!

Jag hämtar en bunt rader från en databastabell och delar upp dem på flera sidor med följande metod vilket fungerar utmärkt:

Set RS2Rader = Server.CreateObject("ADODB.Recordset")

VisaTvaRader = "Select * From tvarader ORDER BY datum DESC"
RS2Rader.Open VisaTvaRader, Connect, adOpenStatic, adLockOptimistic

X = 0
antal = 100
antalsidor=abs(int(Cstr("-"&RS2Rader.RecordCount/antal)))

Men när jag försöker "förnya" koderiet en aning med följande kod:

Set RS2Rader = Connect.Execute("Select * From tvarader ORDER BY datum DESC")

X = 0
antal = 100
antalsidor=abs(int(Cstr("-"&RS2Rader.RecordCount/antal)))

...får jag följande felmeddelande:

Microsoft VBScript runtime  error '800a000d'

Type mismatch: '[string: "--0,01"]'

/content/public_2rader.asp, line 9

Line 9 är följande rad i den "nyare" koden:

antalsidor=abs(int(Cstr("-"&RS2Rader.RecordCount/antal)))

Vad är det som blir fel?

Medlem sedan juni 200032 967 inlägg
#2

Du måste öppna recordsetet på samma sätt som du gör i kodstycke 1 (dvs med .open och lämpliga parametrar), annars innehåller alltid .RecordCount värdet -1.

Medlem sedan juni 20019 519 inlägg
#3

fel av mig :e

Medlem sedan feb. 2004333 inlägg
#4

@nders skrev:

Du måste öppna recordsetet på samma sätt som du gör i kodstycke 1 (dvs med .open och lämpliga parametrar), annars innehåller alltid .RecordCount värdet -1.

Där ser man. Måste .RecordCount ha tillgång till godsakerna i adovbs-filen för att fungera?

Jag som börjat köra med den "nyare" varianten i alla sammanhang... Vilka flera mer nyttiga funktioner behöver använda .open-varianten?

Medlem sedan juni 20019 519 inlägg
#5

det som finns i adovbs filen är bara konstanter..

adOpenStatic, adLockOptimistic

är 3 och 3
så du behöver bara skriva:

RS2Rader.Open VisaTvaRader, Connect, 3, 3

Medlem sedan juni 200032 967 inlägg
#6

Där ser man. Måste .RecordCount ha tillgång till godsakerna i adovbs-filen för att fungera?

Nej, det räcker med att du anger konstanternas värden, om du använder konstanterna i sig eller icke spelar ingen roll.

Vilka flera mer nyttiga funktioner behöver använda .open-varianten?

Om du vill använda paging (dvs använda egenskaper som .pagesize med kamrater) måste du också använda .Open med passande parametrar.

mvh

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