x.asp<% @language=javascript %>
<%
var action= request.querystring("action")
var rs
if (absolutepage=="") {
var con=Server.CreateObject("ADODB.Connection");
con.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("db1.mdb"));
rs=Server.CreateObject("ADODB.Recordset");
rs.open("Select * From table1",con);
session("rs") = rs;
} else {
rs = session("rs");
rs.movenext;
}
%><center>
<table style=border-style:solid;border-width:1; cellpadding=5 cellspacing=5>
<tr>
<td>Name</td><td>Birthday</td><td>Notes</td><td>Vip</td>
</tr>
<tr>
<td><%=rs("Name")%></td>
<td><%=rs("Birthday")%></td>
<td><%=rs("Notes")%></td>
<td><%=rs("Vip")%></td>
</tr>
</table>
<br>
<input type=button onclick="go();window.navigate("x.asp?action=next") value="下一条记录">
</center>其实在session中缓存对象不好,但是这是编码最简单的方法,要不就用rds或xml。

解决方案 »

  1.   

    抱歉,前面有个错误,得把absolutepage改成action。
      

  2.   

    感谢livingagain(阿甘),但你的代码有错,不能正常运行。你可以先调试一下,行了再贴出来吗??谢谢你了。
      

  3.   

    <% @language=javascript %>
    <%
    var action= Request.QueryString("action")
    var rs
    if (action!="next") {
    var con=Server.CreateObject("ADODB.Connection");
    con.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("db1.mdb"));
    rs=Server.CreateObject("ADODB.Recordset");
    rs.open("Select * From table1",con);
    Session("rs") = rs;
    } else {
    rs = Session("rs");
    rs.movenext;
    }
    %><center>
    <table style=border-style:solid;border-width:1; cellpadding=5 cellspacing=5>
    <tr>
    <td>Name</td><td>Birthday</td><td>Notes</td><td>Vip</td>
    </tr>
    <tr>
    <td><%=rs("Name")%></td>
    <td><%=rs("Birthday")%></td>
    <td><%=rs("Notes")%></td>
    <td><%=rs("Vip")%></td>
    </tr>
    </table>
    <br>
    <input type=button onclick="window.navigate('x.asp?action=next');" value="下一条记录">
    </center>
      

  4.   

    谢谢你livingagain(阿甘),可以再帮忙看看这个代码错在哪吗?非常感谢你。htm文件
    <center>
    <form method=post action=finddate.asp>
    每页笔数:<input name=ps type=text size=4><br>
    读取第<input name=pg type=text size=4>页<br>
    <input type=submit>
    <input type=reset>
    </form>
    </center>asp文件<% @language=javascript %>
    <%
    var con=Server.CreateObject("ADODB.Connection");
    con.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("db1.mdb"));
    var rs=Server.CreateObject("ADODB.Recordset");
    rs.open("Select Name,Vip From table1",con);
    rs.PageSize=parseInt(Request("ps"));
    rs.AbsolutePage=parseInt(Request("pg"));
    %>
    每页笔数:<%=Request("ps")%> <br>
    目前页数:<%=Request("pg")%>/共<%=rs.PageCount%>页<table border=1>
    <tr><td>Name</td><td>Vip</td></tr>
    <% 
    for(i=1;i<parseInt(Request("ps"));i++)
       {
       if(rs.EOF==false)
         {
    %>
    <tr><td><%=rs.Fields("Name")%></td></tr>
    <tr><td><%=rs.Fields("Vip")%></td></tr>
    <%
         rs.MoveNext();
         }
       }
    %>
    </table>
    <%
    rs.close();
    con.close();
    %>
      

  5.   

    rs.open("Select Name,Vip From table1",con,3);
    记录集分页对open方法的CursorType有要求。
      

  6.   

    livingagain(阿甘),你真是太好了。可惜我一分都没有,不是一定全给你了。不知可否交上你这个朋友,[email protected]但有一个问题,你的第一个程序,如果我刷新一下,它就自动显示下一条记录了。有办法避免吗?
      

  7.   

    不要紧,我对分没兴趣。你把action改为absoluteposition,然后直接rs.absoluteposition定位,比起move方便多了。
      

  8.   


    livingagain(阿甘)请看这里。
    http://www.csdn.net/expert/topic/506/506306.shtm