呵呵!写了个分页函数,有兴趣可以来看看,自认为比较方便实用。
大家来看看,用用,顺便提提意见。
大家可以添加新得功能或修改已有得功能
不过别忘了改后给我一份噢,谢谢
bubuy@sohu.com
也可以发在帖子里
给50分给修改该程序比较好的大哥。
问题点数:50、回复次数:49Top
1 楼bubuy(始不垂翅,终能奋翼)回复于 2003-10-17 12:17:03 得分 0
<%
'================= ProgrammName: 分页函数 =======================
' ================ Programmed by Bubuy =====================
' ==================== 2003.10.16 ========================
Function cutPage(sqlStr,Conn,dateNums,pageNums,URLs)'利用ADO分页的函数
Dim sql,Cn,dateNum,pageNum,URL,rsDate
Sql=Trim(sqlStr) '获得sql语句。
Set Cn=Conn '获得数据对象
dateNum=Cint(dateNums) '获得每页得记录数
pageNum=Cint(pageNums) '获得当前页码
URL=Trim(URLs) '获得路径
Set rsDate=Server.CreateObject("ADODB.Recordset")
rsDate.PageSize=dateNum
rsDate.Open Sql,cn,1,1
IF rsDate.Eof Then
Response.Write("<center><font stlye='font-size:14px;' color='#ff0000'>对不起,没有记录!</font></center>")
Else
IF pageNum="" or pageNum<1 Then
pageNum=1
ElseIf pageNum>rsDate.PageCount Then
pageNum=rsDate.PageCount
End IF
rsDate.absolutepage =pageNum
Dim recordHead,recordLast '定义当前页开头记录和结束记录
recordHead=1
If pageNum>1 Then recordHead=dateNum*(pageNum-1)
If pageNum>=rsDate.PageCount Then
recordLast=rsDate.RecordCount
Else
recordLast=dateNum*pageNum
End If
Response.Write("<table width=100% border='0' cellpadding='0' cellspacing='0' style='font-size:12px;'>")
Response.Write("<tr><td height=38 align=left><font stly='font-size:12px;'>(第"&recordHead&"-"&recordLast&"条,共"&rsDate.Recordcount&"条,每页显示"&dateNum&"条)</font></td></tr>")
Dim URLa '定义判断输入得URL包含?没有的变量
Dim upPage,downPage,allPage '定义向上和向下翻的变量
Dim allWrite '定义输出
upPage=pageNum-1
downPage=pageNum+1
URLa=Split(URL,"?",-1,1)
If URLa(0)=URL Then
upPage="<a href=" & URL & "?page=" & upPage &" stlye='font-size:12px;'>上一页</a> "
If pageNum=1 Then upPage=""
downPage="<a href=" & URL & "?page=" & downPage &" stlye='font-size:12px;'>下一页</a>"
If pageNum=rsDate.PageCount Then downPage=""
Else
upPage="<a href=" & URL & "&page=" & upPage &" stlye='font-size:12px;'>上一页</a> "
If pageNum=1 Then upPage=""
downPage="<a href=" & URL & "&page=" & downPage &" stlye='font-size:12px;'>下一页</a>"
If pageNum=rsDate.PageCount Then downPage=""
End If
allWrite=upPage & downPage & " 共" & rsDate.PageCount & "页 " & "目前第"& pageNum &"页"
allwrite="<font style='font-size:12px;'>" & allWrite & " 到第<input type='text' style='width:30px;'>页<input type='submit' value='GO'></font>"
Response.Write("<tr><form name='formPage' method='post' action="&URL&"><td height=30 align=right style='font-szie=12px;'>" & allWrite & "</td></form></tr>")
Response.Write("<tr><td align=center>")
Response.Write("<table width=100% border='0' cellpadding='0' cellspacing='0'>")
Response.Write("<tr>")
Response.Write("<tr bgcolor='#efffce' height=25>")
Dim id,i
For i=0 to rsDate.Fields.Count-1 '设置表头
Response.Write("<td align='center'><font style='font-size:14px;'><b>"&rsDate.Fields(i).Name&"</b></font></td>")
Next
Response.Write("</tr>")
id=0
While not rsDate.EOF and id<dateNum
id=id+1
If id Mod 2=0 then
Response.Write("<tr bgcolor=#f7f6e7>")
Else
Response.Write("<tr bgcolor=#ffffff>")
End If
For Each fils in rsDate.Fields
Response.Write("<td align='center' height=20>"&fils&"</td>")
Next
Response.Write("</tr>")
rsDate.MoveNext
Wend
Response.Write("<tr height=30 bgcolor='#efffce'>")
For i=0 to rsDate.Fields.Count-1 '设置表尾
Response.Write("<td align='center'><font style='font-size:14px;'><b>"&rsDate.Fields(i).Name&"</b></font></td>")
Next
Response.Write("</tr>")
Response.Write("</table></td></tr>")
Response.Write("<tr><form name='formPage1' method='post' action="&URL&"><td height=30 align=right>" & allWrite & "</td></form></tr>")
End IF
rsDate.close
Set rsDate=nothing
End Function
%>Top
2 楼bubuy(始不垂翅,终能奋翼)回复于 2003-10-17 12:24:20 得分 0
这样使用
page=request("page")
sql="select * from [table]"
url="xx.asp"当然也可以是"xx.asp?bubuy=1"
conn大家都知道是定义的什么吧
调用就这样
Call cutPage(sql,conn,"3",page,url)'3代表每页显示3条记录Top
3 楼wch0410(宁肯笑着流泪,绝不哭着后悔)回复于 2003-10-17 13:00:34 得分 0
楼主辛苦了
scTop
4 楼bubuy(始不垂翅,终能奋翼)回复于 2003-10-17 13:03:16 得分 0
没人来关心啊,唉~~没劲Top
5 楼dengyin2000(dengyin2000)回复于 2003-10-17 13:11:12 得分 0
收藏!!Top
6 楼wch0410(宁肯笑着流泪,绝不哭着后悔)回复于 2003-10-17 13:14:11 得分 0
没有权力
不然的话帮你置顶
功能都实现了,我刚试过
再帮你upTop
7 楼bird1(蓝鸟)回复于 2003-10-17 13:15:28 得分 0
thank u very much!Top
8 楼jackrong427(热锅上的蚂蚁)回复于 2003-10-17 13:19:51 得分 0
我要收藏!!Top
9 楼eliphe(未来)回复于 2003-10-17 13:23:53 得分 0
鼓励一下,楼主辛苦了
Top
10 楼Novolee(人民子弟兵)(http://biglee.cn/?c)回复于 2003-10-17 13:36:19 得分 0
收了.Top
11 楼divids(QOQ)回复于 2003-10-17 13:48:12 得分 0
辛苦Top
12 楼lyj0243122(大军)回复于 2003-10-17 13:49:44 得分 0
太感谢了,收藏Top
13 楼zrla()回复于 2003-10-17 13:58:30 得分 0
辛苦了。Top
14 楼xieqingbin(云中帆)回复于 2003-10-17 14:04:28 得分 0
谢谢楼主Top
15 楼lxcc()回复于 2003-10-17 14:17:09 得分 0
好!收藏Top
16 楼blue_butterfly(blue.ling)回复于 2003-10-17 14:21:18 得分 0
太好了,我正好需要
收藏先!
谢谢楼主!Top
17 楼cloudchen(cloudchen)回复于 2003-10-17 14:40:13 得分 5
一般,ado分页本来就慢,function里就不要response.write了,分页导航可以交给js来做,这样易用性、兼容性更好Top
18 楼bubuy(始不垂翅,终能奋翼)回复于 2003-10-17 14:52:13 得分 0
to: cloudchen(陈系上.net)
呵呵,老大,你这样说其实不对。
用ADO分页是比较慢,不过用js来分页
的话速度也快不了,还有易用性、兼容性
根本就谈不上(我认为),为什么呢,asp
本来就是在服务器端运行的,在输出一切
前就已经搞定了,怎么谈的上兼容?易用
就更说不上了,不知道用js分页导航哪儿
易用了?呵呵,以上我的观点,请指教
Top
19 楼bubuy(始不垂翅,终能奋翼)回复于 2003-10-17 14:55:52 得分 0
如果大家需要快速的分页方法,也是有的
那就是用RDS数据控件分页,它除了在第一
次运行时较慢,因为它读取所有的数据保存
到客户端,以后点击分页的时候是十分快的
Top
20 楼cloudchen(cloudchen)回复于 2003-10-17 15:00:40 得分 0
我说的是分页的按钮,就是下一页上一页这种,asp其实只要得到几个数据就可以了,总记录数、每页记录数、当前页数就可以了,
传几个数字给js就可以了,你看你这个要该一下显示的方式,或者改改css多麻烦,还要来该function,这还有什么意思,这样不就等于是subTop
21 楼bubuy(始不垂翅,终能奋翼)回复于 2003-10-17 15:09:59 得分 0
还有一种分页方法,那就是用数据库来分页
比如说SQL Server,比ADO要快很小一点点,
但是感觉很麻烦。所以个人认为还是用ADO
分页比较经典。
当然其它的分页方法没有接触过,不论...Top
22 楼faib920(Believe Oneself,Believe Lover.)回复于 2003-10-17 15:19:38 得分 5
我这里也有一个
<%
rs.open "SELECT...",,1,1
rs.pagesize=10
if request("Page")="" then
page=1
else
page=request("Page")
end if
rs.absolutepage=page
response.write "10篇/页 "&page&"/"&rs.recordcount
'首页上一页
if cint(page)>1 then
response.write "<a href='***.asp?Page=1'>首页</a>|<a href='***.asp?Page="&page-1&"'>上一页</a>|"
else
response.write "首页|上一页|"
end if
'列出页号
for i=1 to rs.pagecount
if i<>rs.absolutepage then
response.write "<a href=***.asp?Page="&i&" class=a2>"&i&"</a> "
else
response.write i&" "
end if
next
'末页下一页
if cint(page)<rs.pagecount then
response.write "|<a href='***.asp?Page="&page+1&"'>下一页</a>|<a href='***.asp?Page="&rs.pagecount&"'>末页</a>"
else
response.write "|下一页|末页"
end if
'用列表框
%>
<select name="page" onChange="location=this.options[this.selectedIndex].value">
<%for i=1 to rs.pagecount
if i=rs.absolutepage then
response.write "<option value=***.asp?Page="&i&" selected>"&i&"</option>"
else
response.write "<option value=***.asp?Page="&i&">"&i&"</option>"
end if
next%>
</select>
<%
...
...
rs.close
%>Top
23 楼bubuy(始不垂翅,终能奋翼)回复于 2003-10-17 15:21:10 得分 0
to: cloudchen(陈系上.net)
说的不清楚,小弟问一下:
你的意思是不是先把所有记录
获得,然后存为js数组或别的
客户端东西?然后在用js控制
输出?
对于显示方式,大家各有
不同,所以把表头和表尾标出
来好让大家修改,这应该是比
较容易的吧Top
24 楼wangkemei(女孩)回复于 2003-10-17 17:12:39 得分 0
upTop
25 楼long02435(蓝天)回复于 2003-10-17 19:28:19 得分 0
upTop
26 楼blueshell521(藍冰塊兒)回复于 2003-10-17 20:13:30 得分 0
請問,能不能提供一個下載的asp代碼
Top
27 楼debug2003(DEBUG)回复于 2003-10-17 20:41:27 得分 0
没时间看 先收这 呵呵
我要多多想你们学习Top
28 楼bill1980(☆BOOK诗意☆)回复于 2003-10-17 20:47:18 得分 0
UPTop
29 楼suhuoqiang(小心女人.Net)回复于 2003-10-17 21:39:17 得分 0
太感人了Top
30 楼htao007()回复于 2003-10-17 22:17:42 得分 0
我来说一下:最近在看xml,感觉如果分页,用xml也不错的Top
31 楼yaozhg(网站开发架构师)回复于 2003-10-17 22:51:37 得分 0
你的看了,有时候我也不知道怎么搞才会有效率.
我现在喜欢用
sql="select top 10 * from where..........................Top
32 楼liuyear(http://bczs.net 编程知识)回复于 2003-10-17 22:52:26 得分 0
大量数据集分页效率如何?Top
33 楼siyou(QQ~在线)回复于 2003-10-17 22:59:16 得分 5
老实说,这个分页的函数不好。
一来,函数难用,难提供相应的方法与属性
二来,分页方法不对,rsDate.absolutepage =pageNum这种分页方法只会耗费服务器的大部分资源,如果分页数上千的话,这种方法几十个就能让服务器完蛋了
我不是有心在这里捣乱,其实之前我写了一个类的,用于分页,CSDN不少网友也有了,这次我放出来。用类比用函数要好得多,而且使用方便,而且不用自己创建RS,也不用知道分页是怎样实现的,只要会用就OK了,现在我自己也是用这个,快忘了分页是怎样写的了
http://www.patentcn.com/web.rar
有例程及说明,其实分页就是这么简单
Top
34 楼siyou(QQ~在线)回复于 2003-10-17 23:08:19 得分 0
再补充一下,什么RDS等的分页都是没用的,一次把数据都读出来的话,小数据量还可以,几千上万,如果几十万,几百万的话,服务器就完蛋了,要什么,就读什么,才是可行之道Top
35 楼siyou(QQ~在线)回复于 2003-10-17 23:43:19 得分 0
修改了一下,多了一个属性,另外,这个分页也可以用于数据查找的,数据查找的SQL语句先用COOKIE记录下来,然后在
Example.strsql = "select * from exp" 'sql语句
这里不用"select * from exp",而是用COOKIE记录下的那个语句,就能作到查找分页的原理了Top
36 楼inelm(木野狐)回复于 2003-10-18 00:04:01 得分 5
用存储过程输出 xml, 配合 xsl 解析最好。Top
37 楼windancer(^_^)回复于 2003-10-18 01:19:24 得分 25
为了支持澎湃兄,顺便要点小分:P
<%
'===========================================================
'分页类,大体思想由.Net的DataGrid的使用方式而来
'功能:自动生成datagrid列表头和内容,以及分页栏
'根据网友bubuy (澎湃 NoMoneyToBuy)得分页函数修改成类
'使用示例:
'dim DG
'dim Url
'dim Fld(2)
'dim FldName(2)
'dim FldWidth(2)
'Fld(0) = "ID"
'Fld(1) = "Title"
'Fld(2) = "Input_Date"
'FldName(0) = "编号"
'FldName(1) = "标题"
'FldName(2) = "录入日期"
'FldWidth(0) = "10%"
'FldWidth(1) = "60%"
'FldWidth(2) = "30%"
'set DG = new DataGrid
'DG.DataSource = rs_Grid
'DG.titleColor = "#DCE19D"
'DG.PageSize = 1
'DG.Fields = Fld
'DG.FieldsName = FldName
'DG.fieldWidth = FldWidth
'Url = request.ServerVariables("URL") & "?Param=testParameter"//存在原有参数的情况
'DG.Url = Url
'DG.Generate()
'=============Designed By windancer 2003.10.17===============
Class DataGrid
Private obj_RecordSet ' recordset
Private int_PageSize ' 每页纪录数
'两个数组保存数据库字段名和中文名称
Private Arr_Field ' 数据库字段
Private Arr_FieldName ' 字段显示名称()
Private Arr_FieldWidth ' 字段显示宽度
Private str_TitleColor ' 表头颜色#efffce
Private str_Url '请求的URL
Private str_Error ' 出错信息
Private Sub Class_Initialize()
int_PageSize = 10
str_TitleColor = "#ffffff"
str_Error = ""
End Sub
'===============================================================
'属性信息
'================================================================
'-----------------------------------
'数据源,暂时只支持RecordSet
'-----------------------------------
Public Property Let dataSource(obj)
set obj_RecordSet = obj
End Property
Public Property Let pageSize(intValue)
int_PageSize = intValue
End Property
Public Property Get pageSize
PageSize= int_Categoryid
End Property
Public Property Let Fields(Arr)
Arr_Field = Arr
End Property
Public Property Get Fields
Fields= Arr_Field
End Property
Public Property Let fieldsName(Arr)
Arr_FieldName = Arr
End Property
Public Property Get fieldsName
fieldsName= Arr_FieldName
End Property
Public Property Let fieldWidth(Arr)
Arr_FieldWidth = Arr
End Property
Public Property Get fieldWidth
fieldWidth= Arr_FieldWidth
End Property
Public Property Let titleColor(strValue)
str_TitleColor = strValue
End Property
Public Property Get titleColor
titleColor= str_TitleColor
End Property
'-----------------------------------------------------
'这个属性是为了保存Url路径
'如果当前路径带有参数,那么就用&Page=x,否则就用?Page=x
'------------------------------------------------------
Public Property Let Url(StrValue)
str_Url = StrValue
End Property
Public Property Get Url
Url= str_Url
End Property
'================================================================
'方法
'================================================================
'----------------------------------------------------------------
'显示当前错误
'----------------------------------------------------------------
Private Sub ShowLastError()
response.Write(str_Error)
response.End()
End Sub
'----------------------------------------------------------------
'Generate()
'利用ado分页
'-----------------------------------------------------------------
Public Sub Generate()
'----检查参数--------------------------
Check
'---------变量声明-----------------------------------
Dim FieldCount '显示字段
FieldCount = Ubound(Arr_Field) + 1
Dim CurrentPage '当前页
Dim PgCount '总页数
Dim RecCount '记录数,本来用rs.recordCount可以取到,保存下来效率会比较高
Dim HasOtherParam 'URL是否包含其他参数
Dim PageParam '当前分页Url参数
Dim PageInfomation '当前分页状态信息
Dim Seperator '设置分隔符
Seperator = " "
'-------------处理Url参数---------------------------
if instr(str_Url,"?")>0 then
HasOtherParam = true
PageParam = "&Page="
else
HasOtherParam = false
PageParam = "?Page="
end if
'----------获取当前页--------------------------------
CurrentPage = request.QueryString("Page")
if CurrentPage="" then
CurrentPage=1
else
CurrentPage=Cint(CurrentPage)
end if
'-----------处理数据源------------------------------
obj_RecordSet.PageSize = int_PageSize
RecCount = obj_RecordSet.RecordCount
PgCount = obj_RecordSet.PageCount
IF obj_RecordSet.Eof Then
Response.Write("<center><font stlye='font-size:14px;' color='#ff0000'>对不起,没有记录!</font></center>")
Else
'-----------处理ADO分页----------------------------
IF CurrentPage < 1 Then
CurrentPage = 1
Else
If CurrentPage>PgCount Then
CurrentPage = PgCount
End If
End IF
obj_RecordSet.absolutepage = CurrentPage
Response.Write("<table width=100% border='0' cellpadding='0' cellspacing='0' style='font-size:12px;'>")
'---------------翻页链接-----------------------------
Dim FirstLink,PrevLink,NextLink,LastLink '定义向上和向下翻的变量
'-----------------------首页-------------------------
if CurrentPage>1 then
FirstLink = "<a href='" & URL & PageParam & "1'>首页</a>"
PrevLink = "<a href='" & URL & PageParam & Cstr(CurrentPage-1) & "'>上一页</a>"
else
FirstLink = "首页"
PrevLink = "上一页"
end if
'------------下一页----------------
if CurrentPage<PgCount then
NextLink = "<a href='" & URL & PageParam & Cstr(CurrentPage+1) & "'>下一页</a>"
LastLink = "<a href='" & URL & PageParam & PgCount & "'>尾页</a>"
else
NextLink = "下一页"
LastLink = "尾页"
end if
PageInfomation = FirstLink & Seperator & PrevLink & Seperator & NextLink & Seperator & LastLink & Seperator & "每页" & Cstr(int_PageSize) & "条记录" & Seperator & "共" & PgCount & "页" & Seperator & "目前第" & CurrentPage & "页" & Seperator
Response.Write("<tr><td align=center>")
Response.Write("<table width='100%' border='1' cellpadding='2' cellspacing='2' bordercolor='#999999'>")
'---------------设置表头-----------------
Response.Write("<tr bgcolor='" & str_TitleColor & "'>")
Dim i
For i=0 to FieldCount -1
Response.Write("<td align='center' width='" & Arr_FieldWidth(i) & "'><font style='font-size:14px;'><b>" & Arr_FieldName(i) & "</b></font></td>")
Next
Response.Write("</tr>")
'---------------------输出内容---------------------------------
i=0
While (not obj_RecordSet.EOF) and i<int_PageSize
Dim Cursor
Response.Write("<tr>")
For Cursor = 0 to FieldCount -1
Response.Write("<td align='center'>" & obj_RecordSet(Arr_Field(Cursor)) & "</td>")
Next
Response.Write("</tr>")
i=i+1
obj_RecordSet.MoveNext
Wend
'------------------------输出分页条------------------------------------
Response.Write("<tr><td align='right' colspan='" & Cstr(FieldCount) & "'>" & PageInfomation & "</td></tr>")
response.Write("</table></td></tr></table>")
End IF
End Sub
'----------检查参数是否正确---------------
Private Sub Check()
if Ubound(Arr_Field)<>Ubound(Arr_FieldName) then
str_Error="Fields数组和FieldName数组维数必须相同"
end if
if obj_RecordSet=empty then
str_Error="数据源不能为空,请设置dataSource属性"
end if
if int_PageSize="" then
str_Error="数据源不能为空"
end if
ShowLastError
End Sub
End Class
%>Top
38 楼windancer(^_^)回复于 2003-10-18 01:22:51 得分 0
刚才一直在写,没看到上面几位大侠的留言,申明一下:
我刚才改自楼主函数的分页类没有考虑过什么效率问题,主要从重用性上考虑,当然功能还待扩展。
如果对效率要求比较高的,还是考虑用存储过程"要多少取多少"Top
39 楼windancer(^_^)回复于 2003-10-18 01:26:25 得分 0
感觉在style的定义上还要多加一些属性Top
40 楼masterlijianfei(田螺)回复于 2003-10-18 10:46:05 得分 5
提供一点小建议,假如每页10条纪录,那么第一页就显示select top(10) * from [tablename] where ...,第二页取20条出来分页select top(20) * from [tablename] where ...,如此类推select top(n*10) * from [tablename] where ...,这样的效率会高很多,就算数据十分庞大,数据库一次才取10条,20条纪录来分页,况且浏览的时候一般看3~5页基本上就解决问题了,大家评论吧,我就是这样节省服务器的资源的Top
41 楼sandyxxx(一天到晚游泳的鱼)回复于 2003-10-18 10:59:08 得分 0
好象很复杂呀.
----------------------------------------------------------------------------------
<%dim spl,curpage,i,rs,theday,fl,rs2
nclassid=trim(request("nclassid"))
set rs2=server.createobject("adodb.recordset")
sql="SELECT * from article where nclassid="&cstr(nclassid)&" ORDER BY articleid DESC"
rs2.open sql,conn,1,1%>
--------------------------------------------------------------------------------
下面是一个表格大家保存成.asp就可以了,连同上面,把你数据库中相应的字段改好了就可以了
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="2%" rowspan="3"> </td>
<td width="98%" height="16" valign="top"> </td>
</tr>
<tr>
<td><table align=center border=0 cellpadding=0 cellspacing=0
width=100%>
<tbody>
<tr>
<td height="56" valign="top">
<% page=request.QueryString(page)
if request("page")="" then
curpage = 1
else
curpage = cint(request("page"))
end if
rs2.pagesize=25
rs2.absolutepage = curpage
for i = 1 to rs2.pagesize
response.write "<li type=circle><a href='content.asp?articleid="& rs2("articleid")& "' target=_blank><font size=2>"
'if not isempty(rs("img")) then
'response.write "<font color=#FF0400 font size=1>[图文]</font>"
'end if
response.write trim(rs2("title")) & "</font></a><font color=#6365CE font size=1>("
theday=cstr(YEAR(rs2("dateandtime")))&"-"&cstr(MONTH(rs2("dateandtime")))&"-"&cstr(DAY(rs2("dateandtime")))
response.write theday & ")</font>"
rs2.movenext
if rs2.eof then
i=i+1
exit for
end if
next %>
</td>
</tr>
</tbody>
</table></td>
</tr>
<tr>
<td height="31"><div align="center" width=100%>
<div align="center" width=100%>
<div align="center" width=100%>
<%
' response.write "<hr size=0 width='98%'><div align=center>"
response.write "<font size=2 >第</font><font size=2 color=red>" + cstr(curpage) + "</font><font size=2 >页/总</font><font size=2 color=red>" + cstr(rs2.pagecount) + "</font><font size=2 >页</font> "
response.write "<font size=2 >本页</font><font size=2 color=red>" + cstr(i-1) + "</font><font size=2 >条/总</font><font size=2 color=red>" + cstr(rs2.recordcount) + "</font><font size=2 >条</font>"
if curpage = 1 then %>
<font color="#000000" size="2">首页 前页</font>
<%else
response.write "<font size=2 ><a href='xlmore.asp?nclassid=" & cstr(nclassid) & "&page=1'>首页</a></font> <font size=2 ><a href='xlmore.asp?nclassid=" & cstr(nclassid) & "&page=" & cstr(curpage-1) & "'>前页</a></font> "
end if
if curpage = rs2.pagecount then %>
<font color="#000000" size="2">后页 末页</font>
<%else
response.write "<font size=2 ><a href='xlmore.asp?nclassid=" & cstr(nclassid) & "&page=" & cstr(curpage+1) & "'>后页</a></font> <font size=2 ><a href='xlmore.asp?nclassid=" & cstr(nclassid) & "&page=" & cstr(rs2.pagecount) & "'>末页</a></font> "
end if
rs2.close
set rs2=nothing
conn.close
set conn=nothing
%>
</div>
</div>
</div></td>
</tr>
</table>Top
42 楼tfy_002(林子)回复于 2003-10-18 11:01:02 得分 0
谢谢楼主,我现在正好需要!!!!!!!!!!!!!!
收藏Top
43 楼hxy2003(asfd)回复于 2003-10-18 12:01:00 得分 0
UPTop
44 楼qunluo(最爱白菜)回复于 2003-10-18 13:42:18 得分 0
又学了一招!!!
好功夫!!!Top
45 楼ChinaE114(三少爷)回复于 2003-10-18 14:02:58 得分 0
masterlijianfei(田螺) :这样就无法获得总的参数了,如共有几条数据,分几页等Top
46 楼liuzxit(dotnetRGB.com)回复于 2003-10-18 15:11:10 得分 0
只是对ado的分页功能稍做加工而已 ,没多大意义,还不如用xml来做Top
47 楼mycl3344(都市浪人)回复于 2003-10-19 11:38:22 得分 0
無法跳轉﹐能不能實現啊?實現了發我一份如何?
coldwindfan@163.comTop
48 楼bubuy(始不垂翅,终能奋翼)回复于 2003-10-20 09:39:16 得分 0
呵呵,感谢大家,因为星期陆和星期天不上班
所以没来回复大家,大家提得意见很好,我一
定注意。
在这里特别感谢 windancer(风精灵)
我马上结帐了。
还有有些大哥说要是读上千条信息会影响效率,
其实我不占成这种说法,为什么呢?
在我们现时得网页中分页上千条得网页太少呢
我常看到得就是搜索引擎;它得分页根本就不是一回事了。
还有大家说上千条记录影响效率,我不这么认为,不知道
大家用上千条得记录试过没有,没有请试试。Top
49 楼bubuy(始不垂翅,终能奋翼)回复于 2003-10-20 09:47:18 得分 0
to siyou(QQ~在线)
你说得也很不错,在此感谢你。
不过我这里也有几句话要说,你说得
情况给我得感觉就想是要大家写好得
SQL语句,而不是分页问题,呵呵。。。
对了,还有,如果一个服务器读上千条得
数据都会出问题得话,请你换一家得服务
器用用,呵呵,像我们这里得服务器有时
要读上几十万条得记录,依然是毫无问题
得,我们用得是SQLServer数据库。Top





