主题:  请教 数据库中查询分页 的问题! 请在看一下,问题还没解决!

FlyingBirds

职务:普通成员
等级:1
金币:0.0
发贴:8
#12005/12/19 21:42:11
问题是这样的 比如说 我总共能分5页 但是为了防止 用户 输入 小于 1 或 大于 5 的数来浏览
我用了如下判断

if PageN = "" or PageN < 1 then
PageN=1
elseif PageN > rs.pagesize then
PageN=rs.pagesize
End if
Rs.AbsolutePage = PageN


结果 总是有问题 请各位大侠 指点一下 谢谢!!!!!

编辑历史:[此帖最近一次被 FlyBirds 编辑过(编辑时间:2005-12-21 20:24:00)]


浮尘

职务:普通成员
等级:3
金币:7.0
发贴:1258
#22005/12/20 9:48:08
pageSize 和 pageCount 是两回事,不要混了。



FlyingBirds

职务:普通成员
等级:1
金币:0.0
发贴:8
#32005/12/21 20:20:40
不好意思 我写错了

是这样的

if PageN = "" or PageN < 1 then
PageN=1
else if PageN > Rs.PageCount then
PageN=Rs.PageCount
End if

可是 还是出错

if PageN = "" or PageN < 1 then
PageN=1
End if

如果 是这样就 程序可以运行 但 页数如果大了就出错 !!!

还是麻烦 大侠 指点吧!!!

整个程序 的代码是这样的!!!


<script language="javascript1.2">
function changeto(highlightcolor){
source=event.srcElement
if (source.tagName=="TR"||source.tagName=="TABLE")
return
while(source.tagName!="TD")
source=source.parentElement
if (source.style.backgroundColor!=highlightcolor&&source.id!="ignore")
source.style.backgroundColor=highlightcolor
}

function changeback(highlightcolor){
source=event.srcElement
if (source.tagName=="TR"||source.tagName=="TABLE")
return
while(source.tagName!="TD")
source=source.parentElement
if (source.style.backgroundColor!=highlightcolor&&source.id!="ignore")
source.style.backgroundColor=highlightcolor
}
</script>

<%
set conn =Server.CreateObject("ADODB.Connection")
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;DATA Source=" & Server.MapPath("database/carbbs.mdb")
conn.Open
Set Rs=Server.CreateObject("adodb.recordset")
sql = "SELECT * FROM datalist where IsTopic= 0 order by id desc"
Rs.Open Sql,Conn,1,1,1
Rs.PageSize = 5
PageN=Request("PageN")
if PageN = "" or PageN < 1 then
PageN=1
else if PageN > Rs.PageCount then
PageN=Rs.PageCount
End if
Rs.AbsolutePage = PageN
%>


<div align="center">
<table width="760" height="80" border="1">
<tr>
<td width="340" height="29"><div align="center">&#26631;&#39064;</div></td>
<td width="140"><div align="center">×÷&Otilde;&szlig;</div></td>
<td width="85"><div align="center">&raquo;&Oslash;&cedil;&acute;</div></td>
<td width="181"><div align="center">×&icirc;&ordm;ó·&cent;±í</div></td>
</tr>
<% for i=1 to Rs.PageSize %>
<tr>
<td width="340" height="43" onMouseover="changeto('33ff33')" onMouseout="changeback('FFFFFF')"><a href="show.asp?id=<%=rs("id")%>"><%=rs("±ê&Igrave;&acirc;")%></a></td>
<td width="140"><div align="center"><%=rs("Poster")%></div></td>
<td width="85"><div align="center"><%=conn.execute("select count(id) from datalist where IsTopic="&rs("id")&"")(0)%></div></td>
<td><div align="center"><%=rs("LastTime")%><br>
By:</div></td>
</tr>
<%
Rs.movenext
If Rs.EOF Then Exit For End if
next
%>
</table>
<table border="1" cellspacing="0" cellpadding="0">
<tr>
    <td width="40"><div align="center"><strong>&lt;&lt;&lt;</strong></div></td>
    <td width="40"><div align="center"><strong>&lt;&lt;</strong></div></td>
     <%
     For i=1 to Rs.PageCount
         If i= CInt(PageN) Then
Response.Write"<td width= 50 ><div align=center><strong><" &i& "></strong></div></td>"        
else
         Response.Write"<td width= 50 ><div align=center><strong><A HREF='bbslist.asp?PageN="&i&"'><"&i&"></A></strong></div></td>"
         End If
     Next
     %>
<td width="40"><div align="center"><strong>&gt;&gt;</strong></div></td>
<td width="40"><div align="center"><strong>&gt;&gt;&gt;</strong></div></td>
</tr>
</table>
</div>



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#42005/12/21 20:29:31
PageN = clng(PageN)



FlyingBirds

职务:普通成员
等级:1
金币:0.0
发贴:8
#52005/12/22 14:39:55
谢谢!!!!!
终于好了 。。。。。。。。。
这里得学问太多了,一不小心就错!!!!
谢谢!!!!!!!!!!!!