有一个动态网页,读数据库中的内容,然后生成网页!由于,数据的积累,使信息量增大很快,现在所有的数据都放在一个网页里,给浏览者带来很大的不便,我想将本页分开,数据库名称为system,表名为xinwen ,键为ClassID=1和NClassID=1就可以读取数据库的内容了!!求诸位大人指点!
 下面是我找的一个控件,不知道能不能行,求大人指点!如果运行正常,高分报答!
<%
Set conn = Server.CreateObject("ADODB.Connection")
strcon="provider=microsoft.jet.oledb.4.0;data source="& _
server.mappath("mdb.mdb")
conn.Open strconSet rs = Server.CreateObject ("ADODB.Recordset")
sql="select * from table order by id desc"
rs.Open sql, conn, 1page=1    ' 设置变量PAGE=1
rs.PageSize = 5 '每页显示记录数if Not IsEmpty(Request("Page")) then '如果PAGE已经初始化...Page = CInt(Request("Page")) '接收PAGE并化为数字型赋给PAGE变量
    
    if Page > rs.PageCount then '如果接收的页数大于总页数
        rs.AbsolutePage = rs.PageCount '设置当前显示页等于最后页
        
    elseif Page <= 0 then '如果page小于等于0
        Page = 1 '设置PAGE等于第一页
    else
        rs.AbsolutePage = Page '如果大于零,显示当前页等于接收的页数 
    end if
End if
Page = rs.AbsolutePage 
%>
<% For i = 1 to rs.PageSize
if rs.EOF then     
Exit For 
end if '利用for next 循环依次读出记录
%>
上面的代码只需要改动Rs.pagesize=5,把5改为你想显示的记录数.比如说
改为10.那么每页就是显示10页.还需要修改的是select语句.就是你要检索的数据库了.
也就是说放到任何一个系统中上面的代码只需很小的改动都可以直接拿过来用.  然后:就是要循环读出记录的显示内容了..............比如
<table width=50 border=1 align=center>
<tr>
<TD><% =rs("内容") %>
</td>
</tr>
</table>
<%
rs.MoveNextnext
%>
当然也可以改为response.write输出.那是你的事了.你可以自由发挥版面样式.  最后,添加"下一页,上一页"的链接:
<%if request("page")>1 then%>
<a Href="test.asp?Page=<% = 1%>">首页</a> 
<a Href="test.asp?Page=<% =request("page") -1 %>">上一页</a>
<%end if %>
<%if request("page")<>rs.pagecount then %>
<a Href="test.asp?Page=<% =request("page") + 1%>">下一页</a> 
<a Href="test.asp?Page=<% = rs.PageCount%>">尾页</a> 
<% end if %>
上面的代码反正不管三七二十一只管复制粘贴.只需把"fenye.asp"改成你自己的文件名就可以了.随便把这段代码放在什么地方?就是你想让它出现下一页下一页链接的地方吧.
最后.关闭记录集释放资源:
<% 
rs.close 
Set rs = Nothing
conn.close 
set conn=nothing 
%>
一个非常简单的分页函数就完成了.以后随便做什么程序反正只管套用这个好了.绝对没错的.当然这个程序还有很多错误.....不足之处还望高手多多批评指正.小弟献丑了.......^_^....... 

解决方案 »

  1.   

    .Net的话,我有一个数据库控件
    YL_Data_Show
    支持分页
    显示格式灵活,不光可以按照DataGrid格式显示,还可以按任意格式显示比如留言板的格式显示
    与具体数据库无关,使用时要设置数据库联接、表、字段等信息
    将显示格式的html代码考到相关属性中就可以按指定格式显示
    自定义分页显示格式
    第一次写控件,还请大家对提意见
    http://www.ylnj.net/download/downLoad.aspx?SoftID=19
    帮助文档:http://www.ylnj.net/doc/Show.aspx?PageID=43
      

  2.   

    看第一句:Set conn = Server.CreateObject("ADODB.Connection"),这是个ASP问题还是ASP.NET问题?如果是ASP.NET,既使自带的DataGrid都能分页啊,不需要好像以前的ASP那么麻烦。如果用ASP.NET 2.0,GridView是DataGrid的增强版,更好用。如果楼主坚持要用ASP的传统分页法,那也可以帮忙看看的。
      

  3.   

    .net中的datalist 倒是需要自己写分页,如果是datagrid根本就不需要这些麻烦事!
      

  4.   

    参考:
    希望对你有所帮助:
    http://blog.csdn.net/ChengKing/archive/2006/01/03/568966.aspx
    http://blog.csdn.net/ChengKing/archive/2005/11/20/533539.aspx
      

  5.   

    AspNetPager
    去搜一搜,还有原码