asp分页简单问题求救

来源:百度知道 编辑:UC知道 时间:2024/05/02 08:10:40
我一直用这代码,但是有个问题就是在分页的时候它是按多少字来分,并不会自动分页,所以在显示的时候会出现上一页尾部有半行乱码,下一页头部也会有。谁帮我修改一下,小弟看头晕了
Dim MaxLen,CurrentPage,PageCounts
Dim Content,cLength
Dim i,j,n
MaxLen=2000 '这里设置最长500
CurrentPage=Request("page")
If CurrentPage="" Or Not isNumeric(CurrentPage) Then
CurrentPage=1
Else
CurrentPage=Cint(CurrentPage)
End If
Set Rs = Server.CreateObject("ADODB.Recordset")
sql="select * from edu where id="&id&""
Rs.Open Sql,Conn,1,1
If Rs.EOF Then
Response.Write("不存在此ID的文章!")
Response.End
End If
Content=zdp(Rst("Body"))
Rs.Close
Set Rs=Nothing
cLength=Len(Content)
If cLength Mod MaxLen=0 Then
PageCounts = cLength \ MaxLen
Else
PageCounts = cLength \ MaxLen + 1
End If
If CurrentPage>PageCounts Then CurrentPage=PageCounts
i=(CurrentPage-1)*MaxLen+1
j=M

你这部分的代码蛮好的,一时没看出毛病!
很久没接触了...
不过你的最后一句里的函数 Mid(Content,i,j) 是怎么样的?

还有个问题,,你的 rs.close应该放在最后,不要在中间就结束了,这样rs.title会出错的

给你一个小例子看一下
<%
'连接数据库

'执行sql 改你要的sql
set rs=server.CreateObject("adodb.recordset")%>
rs.open "select * from news order by id desc ",conn,1,3

下面的代码就复制用可以了

'分页
i=50
rs.pagesize=i
pu=request("pu")
if pu="" then pu=1
if cint(pu)<="0" then pu=1
if cint(pu)>rs.pagecount then pu=rs.pagecount
if not rs.eof then rs.absolutepage=cint(pu)
'显示记录
if not rs.eof then
do while not rs.eof and i=>1
response.write rs("字段")'显示字段
'就这里改你要的,其它复制用就可以
rs.movenext
i=i-1
loop
end if
%>

当前第 <%=pu%> 页;分
<%=rs.pagecount%> 页;
共 <%=rs.recordcount%> 条记录;
每页<%=i%&g