[ASP & MSSQL] Query recordset weergeven op meerdere pagina's

Pagina: 1
Acties:

  • Urk
  • Registratie: Maart 2000
  • Laatst online: 04-05 11:56
Voordat jullie beginnen dat ik de search niet heb gebruikt, dat heb ik wel en ik vind verschillende methoden:
o.a. die van 4Guysfromrolla.com: http://www.4guysfromrolla.com/webtech/070500-1.shtml
en LIMIT (maar dat is alleen voor MySQL)

Ik draai dus een query op een MS SQL Server 2000 database. Daaruit komt een recordset die ik wil splitsen in meerdere pagina's.
De query draai ik direct op de database, met de volgende code:

ASP:
1
2
SQL = "SELECT users.*, plaatsen.plaats_naam FROM klant LEFT OUTER JOIN plaatsen ON klant.klant_plaats = plaatsen.plaats_id " & query & orderby
Set RS = DBCon.Execute(SQL)


Vervolgens loop ik met een While Not RS.EOF...RS.MoveNext & Wend loop door de recordset heen en toon deze op het scherm.
Ik gebruik voor de data uit de database --> RS("veldnaam").
Dus array = RS.GetRows is geen optie omdat ik dan niet meer simpelweg met de veldnamen kan werken.
Wat zijn dus de mogelijkheden om bijv. maximaal 15 records te tonen en indien het er meer zijn verder naar de volgende pagina met de volgende 15 records.

Zijn er geen simpele methoden om dit puur in de SQL query te doen? Ik weet van SELET TOP 10 FROM [...] maar dan begin je altijd bovenaan.

Ik weet ook van de Pagesize, AbsolutePage en AbsolutePosition methoden, maar die kan ik niet gebruiken i.s.m. een While Not RS.EOF

Ik zoek hiervoor dus een goed werkende methode die makkelijk te implementeren is in huidige code.

[ Voor 11% gewijzigd door Urk op 11-02-2005 18:09 ]


  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
Urk schreef op vrijdag 11 februari 2005 @ 18:05:
Ik weet ook van de Pagesize, AbsolutePage en AbsolutePosition methoden, maar die kan ik niet gebruiken i.s.m. een While Not RS.EOF
Hoezo kan je niet 'do while not rs.eof' gebruiken dan?

ASP:
1
Do While Not Rst.Eof AND Int_Count <Rst.PageSize


En dan gewoon je int ophogen?

  • Urk
  • Registratie: Maart 2000
  • Laatst online: 04-05 11:56
Top! Bedankt, het is me gelukt!
Ik moet het nog iets beter uitwerken, dat de knoppen onderaan alleen verschijnen indien nodig e.d. _/-\o_

[ Voor 3% gewijzigd door Urk op 11-02-2005 21:26 . Reden: typefoutje ]


Verwijderd

[b][message=22769993,noline].....
Dus array = RS.GetRows is geen optie omdat ik dan niet meer simpelweg met de veldnamen kan werken.
....
kan prima, al zal je ze eerst in moeten variables gooien (om ze makkelijker aanspreekbaar te maken), is 100x sneller dan je huidige loop en scheelt bergen met calls naar je DB.

[ Voor 9% gewijzigd door Verwijderd op 12-02-2005 09:38 ]