<%@ Language=VBScript %>
<%
option explicit
Response.Expires = 0
'on error resume next
'***************************************************************************
'Variablendeklaration und -initialisierung
Const adOpenKeyset = 1
Const adLockOptimistic = 3
Const INTMAXPAGINGLENGTH = 3 'Anzahl angezeigte Datensätze pro Seite
Dim intaktuellersatz 'Zähler für die angezeigten Datensätze
Dim intpage
Dim intpagingfirst 'Laufnr des ersten angezeigten Datensatzes auf Seite
Dim intpaginglast 'Laufnr des letzten angezeigten Datensatzes auf Seite
Dim objcon
Dim objfield
Dim objrs
Dim strcon
Dim strfilename
Dim strsqlselect
set objcon = Server.CreateObject("ADODB.Connection")
set objrs = Server.CreateObject("ADODB.Recordset")
strcon = "DRIVER={Microsoft Access Driver (*.mdb)}; " & _
"DBQ=" & server.MapPath("/asppages/silvi/db/dbartikel2000.mdb")
strsqlselect = "SELECT tblkategorien.Kategoriename, tblartikel.Artikelname, " & _
" tblartikel.Einzelpreis, tblartikel.Lagerbestand " & _
"FROM tblkategorien, tblartikel " & _
"WHERE tblartikel.Auslaufartikel = 0 " & _
" AND tblkategorien.Kategorienr = tblartikel.Kategorienr " & _
"ORDER BY tblartikel.Artikelname"
strfilename = right(request.servervariables("PATH_TRANSLATED"), _
Len(request.servervariables("PATH_TRANSLATED")) _
- InStrRev(request.servervariables("PATH_TRANSLATED"),"\"))
'***************************************************************************
'Lokale Prozeduren und Funktionen
'***************************************************************************
'Hier steht Code, der vor dem Seitenkopf stehen muss, z.B. Response.Redirect
%>
<html>
<head>
<base href="http://amddigicomp/asppages/silvi/uebungen/uebung6_9.asp" fptype="TRUE">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
<title>ASP Datenbankanbindung: Datensätze mit Paging anzeigen
</title>
<meta name="description" content="" />
<meta name="keywords" content="" />
</head>
<body>
<h1>Artikelliste
</h1>
<%
'***************************************************************************
'Hier steht Code, der die Seite erstellt, z.B. mit Response.Write(..)
objcon.Open strcon
objrs.Open strsqlselect, objcon, 1, 3
If TypeName(objrs) = "Recordset" And objrs.state = 1 Then
'Seite in Parameter abfragen und setzen
intpage = 1
If Request.QueryString("parpage") > 0 Then
intpage = CInt(Request.QueryString("parpage"))
End If 'Request.QueryString("parpage") > 0
'----------------------------------
'Treffer berechnen und anzeigen
intpagingfirst = (intpage - 1) * INTMAXPAGINGLENGTH + 1
If objrs.RecordCount > intpage * intmaxpaginglength Then
intpaginglast = intpage * intmaxpaginglength
Else
intpaginglast = objrs.RecordCount
End If
Response.Write(space(6)& "<p><b>Treffer " & intpagingfirst & " bis " & _
intpaginglast & " von " & objrs.recordcount & "</b></p>" & vbCrLf)
'Gibt es überhaupt mehr Datensätze als pro Seite erlaubt sind
If objrs.RecordCount > INTMAXPAGINGLENGTH Then
'----------------------------------
'Datensätze anzeigen
'Paging: Länge der Seite setzen
objrs.PageSize = INTMAXPAGINGLENGTH
objrs.AbsolutePage = intpage
For intaktuellersatz = 1 To objrs.PageSize
If Not objrs.EOF Then
Response.Write(objrs("Artikelname") & "<br />" & vbCrLf)
objrs.MoveNext
End If
Next
Response.Write(" <br />"&vbCrLf)
'----------------------------------
'Links zum Vor- und Zurückblättern
If intpage > 1 Then
Response.Write("<a href=""" & strfilename & _
"?parpage=1""><<</a> " & vbCrLf)
Response.Write("<a href=""" & strfilename & _
"?parpage=" & intpage - 1 & _
"""><</a> " & vbCrLf)
Else
Response.Write(
"<< " & vbCrLf)
Response.Write(
"< " & vbCrLf)
End If
If intpage < objrs.PageCount Then
Response.Write(
"<a href=""" & strfilename & _
"?parpage=" & intpage + 1 &_
""">></a> " & vbCrLf)
Response.Write(
"<a href=""" & strfilename & _
"?parpage=" & objrs.PageCount &_
""">>>
</a> " & vbCrLf)
Else
Response.Write(
"> " & vbCrLf)
Response.Write(
">> " & vbCrLf)
End If
Response.Write(
"<br />"&vbCrLf)
Else
While Not objrs.EOF
Response.Write(objrs(
"Artikelname") &
"<br />" & vbCrLf)
objrs.MoveNext
objrs.MoveNext
Wend
End If 'objrs.RecordCount > intmaxpaginglength
End If 'TypeName(objrs) =
"Recordset" And objrs.state = 1
objrs.Close
objcon.Close
%>
</body>
</html>
Demo: uebungen/uebung6_9.asp
Letzter Update:
26.12.2021 16:48
Zurück zur
Liste mit ASP-Übungen auf
www.ecotronics.ch