Tobi: paging through getrows

Beitrag lesen

Hallo,
vorab: ich bin immernoch ein ASP-Anfaenger, also habt bitte Geduld mit mir...;o)...

Folgendes Problem habe ich: Eine Access-DB auf einem Windows Server (noch nicht das ganze Problem! ;). Habe in Tutorials herausgefunden, das getrows die beste Methode zum ausgeben der recordsets ist, baue gerade die Seite um.

Aber ich moechte gerne, dass der User durch die results blaettern kann...wie mache ich das dann mit dem array?

Vorher habe ich mit do ... while schleife gearbeitet nach dem motto:
do while not rs.eof and rs.gesamteanzahlderseiten = rs.aktuelleseite und gesetzter rs.pagesize.

Jetzt sieht mein Code so aus:

<% if rs.EOF OR rs.BOF then %>
<br>
Fehlermeldung
<br>
<%
 Call CloseAll
 response.end
%>
<% end if %>

<%
 ' get all records with getrows and write to array
  Dim alldata
   alldata = rs.getrows
 ' close rs and con
  Call CloseAll
 ' get number of rows
  Dim numrows
   numrows = ubound(alldata,2)
 ' define field names according to rows
  Dim rs_stanag_number, rs_english_title
   rs_stanag_number = 8
   rs_english_title = 20
%>
Number of records:<%= numrows %>
<br>
<%
 ' loop through array
  Dim rowcounter, stanag_number, english_title
   for rowcounter = 0 to numrows
      stanag_number = alldata(rs_stanag_number,rowcounter)
      stanag_number = cleanfield(stanag_number)
      english_title = alldata(rs_english_title,rowcounter)
      english_title = cleanfield(english_title)

'write results
      response.write stanag_number
      response.write english_title
      response.write "<br>"
   next
 ' loop through array end
%>

<%
 ' sub close rs and con
  sub CloseAll
   rs.close
   set rs=nothing
   con.close
   set con=nothing
  end sub

' function clean fields
  function CleanField(rs_value)
   cleanfield=rs_value
   if isnull(rs_value) then
    cleanfield=" "
   end if
   if trim(rs_value)="" then
    cleanfield=" "
   end if
  end function
%>

Weitere Fragen:
1. Warum gibt numrows einen um 1 kleineren Wert als die Anzahl der records zurueck? Weil der Array bei 0 anfaengt?
2. Bei der Fehlerschleife wird mit response.end abgebrochen. Dadurch werden im HTML dann z.B. die tags body und html nicht geschlossen. ist das schlimm? Ist dann immerhin nicht valider Code....

Bin Euch fuer Anregungen dankbar.

Danke und Gruss,
Tobi