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