<%
class cls_page
private spageindex
private spagesize
private stblname
private sfldname
private sordertype
private sstrwhere
private sstrurl
private srs
private sconn
private stotal
private stotalpage
public property let pageindex(value)‘当前页数
spageindex=value
end property
public property let pagesize(value)‘每页记录数
spagesize=value
end property
public property let tablename(value)‘表名
stblname=value
end property
public property let fieldname(value) ‘排序字段名
sfldname=value
end property
public property let ordertype(value)‘排序方式
sordertype=value
end property
public property let strwhere(value)‘sql参数
sstrwhere=value
end property
public property let strurl(value)‘分页参数
sstrurl=value
end property
public property let strconn(value)‘连接字符串
set sconn=value
end property
public property get pagesize
pagesize=spagesize
end property
Private Sub Class_Initialize
spagesize=10
end sub
Private Sub Class_Terminate
end sub
private Function GetPageSql()‘获得sql
Dim StrTemp,StrSql,StrOrder
If sOrderType = 0 Then
StrTemp = "> (Select Max([" & sFldName & "])"
StrOrder = " Order By [" & sFldName & "] Asc"
Else
StrTemp = "< (Select Min([" & sFldName & "])"
StrOrder = " Order By [" & sFldName & "] Desc"
End If
If sPageIndex = 1 Then
StrTemp = ""
If sStrWhere <> "" Then
Strtmp = " Where " & StrWhere
End If
StrSql = "Select Top " & sPageSize & " * From [" & sTblName & "]" & Strtmp & StrOrder
Else
StrSql = "Select Top " & sPageSize & " * From [" & sTblName & "] Where [" & sFldName & "]" & StrTemp & _
" From (Select Top " & (sPageIndex-1) * sPageSize & " [" & sFldName & "] From [" & sTblName & "]"
If sStrWhere <> "" Then
StrSql = StrSql & " Where " & sStrWhere
End If
StrSql = StrSql & StrOrder & ") As Tbltemp)"
If sStrWhere <> "" Then
StrSql = StrSql & " And " & sStrWhere
End If
StrSql = StrSql & StrOrder
End If
GetPageSql = StrSql
End Function
public property get getrs()‘获得rs
set srs=server.CreateObject("adodb.recordset")
srs.open GetPageSql,sconn,1,1
set getrs=srs
end property
public sub listbar()‘分页导航条
sql="select * from "&stblname&""
set rs=server.CreateObject("adodb.recordset")
rs.open sql,sconn,1,3
total=rs.recordcount
totalpage=rs.pagecount
rs.close
set rs=nothing
response.Write("共有纪录 <font color=red><b>"&total&"</b></font> 条 ")
response.Write("记录共 <font color=red><b>"&totalpage&"</b></font> 页 ")
response.Write("当前为第 <font color=red><b>"&spageindex&"</b></font>/"&totalpage&" 页 ")
If totalpage=1 Then
Response.write "·共有1页·"
End If
If Not spageindex=1 Then
Response.write "<a href=?page=1&"&sstrurl&">首页</a> "
Response.write "<a href=?page="&Cstr(spageindex-1)&"&"&sstrurl&">前页</a> "
Else
Response.write "首页 "
Response.write "前页 "
End If
If spageindex<>totalpage Then
Response.Write "<a href=?page="&Cstr(spageindex+1)&"&"&sstrurl&">后页</a> "
Response.Write "<a href=?page="&totalpage&"&"&sstrurl&">尾页</a>"
Else
Response.Write "后页 "
Response.Write "尾页"
End If
response.Write(" 选择查看<select onChange=window.location=‘?page=‘+this.options[selectedIndex].value+‘&"&sstrurl&"‘; name=select3>")
for ipage=1 to totalpage
response.write "<option value="&ipage
if ipage=cint(spageindex) then response.write " selected"
response.write ">"&ipage&"</option>"
next
response.Write("</select>页")
end sub
end class
%>