对数据库中的记录用上一条下一条显示(三)

2016-01-29 17:08 3 1 收藏

对数据库中的记录用上一条下一条显示(三),对数据库中的记录用上一条下一条显示(三)

【 tulaoshi.com - ASP 】

  三、Bookmark/MoveNext/MovePrevious例子

让我们看一个ASP程式码当中使用Bookmark/MoveNext/MovePrevious做到上一条下一条功能的例子。

譬如ASP程式码rs15.asp如下:

<%

Set conn1 = Server.CreateObject("ADODB.Connection")

conn1.Open "DBQ="& Server.MapPath("ntopsamp.mdb") &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"

Set rs2 = Server.CreateObject("ADODB.Recordset")

SqlStr = "SELECT * From 着作"

rs2.Open SqlStr,conn1,1,1

BkStart = rs2.Bookmark

BkEnd = rs2.Bookmark + rs2.RecordCount - 1

rs2.MoveNext

if Request("sel") = "prev" then

rs2.Bookmark = Session("Bookmark")

rs2.MovePrevious

elseif Request("sel") = "next" then

rs2.Bookmark = Session("Bookmark")

rs2.MoveNext

end if

Session("Bookmark") = rs2.Bookmark

%

<TABLE COLSPAN=8 CELLPADDING=5 BORDER=0

<TR

<TD ALIGN=CENTER BGCOLOR="#008080"<FONT COLOR="#FFFFFF"书名</FONT</TD

<TD ALIGN=CENTER BGCOLOR="#008080"<FONT COLOR="#FFFFFF"出版</FONT</TD

<TD ALIGN=CENTER BGCOLOR="#008080"<FONT COLOR="#FFFFFF"图片</FONT</TD

<TD ALIGN=CENTER BGCOLOR="#008080"<FONT COLOR="#FFFFFF"简介</FONT</TD

<TR

<TD BGCOLOR="f7efde" ALIGN=CENTER<%= rs2("书名")%</TD

<TD BGCOLOR="f7efde" ALIGN=CENTER<%= rs2("出版")%</TD

<TD BGCOLOR="f7efde" ALIGN=CENTER<%= rs2("图片")%</TD

<TD BGCOLOR="f7efde" ALIGN=CENTER<%= rs2("简介")%</TD

</TR

</TABLE

<% = Session("Bookmark") %

<% if Session("Bookmark") BkStart then %

<A href=rs15.asp?sel=prev上一条</A

<% end if %

<% if Session("Bookmark") < BkEnd then %

<A href=rs15.asp?sel=next下一条</A

<% end if %

<% rs2.Close %

以上的 ASP程式码rs15.asp,在用户端使用浏览器,浏览执行的结果,显示上一条下一条的功能。

由Session("Bookmark")储存这个使用者RecordSet 的bookmark(书签)位置,当按下 [上一条] 超级连接时,由<A href=rs15.asp?sel=prev上一条</A,将sel设定为prev,并重新执行rs15.asp的asp码。由以下的程式部份,首先将Bookmark 属性设为所设定书签记号的名称Session("Bookmark")回到上次书签的位置,然后使用MovePrevious移动到上一条的位置:

if Request("sel") = "prev" then

rs2.Bookmark = Session("Bookmark")

rs2.MovePrevious

elseif Request("sel") = "next" then

rs2.Bookmark = Session("Bookmark")

rs2.MoveNext

end if

Session("Bookmark") = rs2.Bookmark

然后使用Session("Bookmark") = rs2.Bookmark设定书签,Session("Bookmark")储存书签记号的名称。

当按下 [下一条] 超级连接时,由<A href=rs15.asp?sel=next下一条</A,将sel设定为next,并重新执行rs15.asp的asp码。由以上的程式部份,回到上次书签的位置,然后使用MoveNext移动到下一条的位置。

由<% = Session("Bookmark") %显示书签的位置,请注意第一条记录的位置并非为0而是1792,因此我们必须取得第一条和第末条的书签位置值,以判断是否要显示 [上一条] [下一条] 超级连接。

为了判断是否要显示 [上一条] [下一条] 超级连接,由以下的程式部份,我们设定了两个书签,由BkStart = rs2.Bookmark设定第一条的位置,由BkEnd = rs2.Bookmark + rs2.RecordCount - 1设定第末条的位置:

<%

SqlStr = "SELECT * From 着作"

rs2.Open SqlStr,conn1,1,1

BkStart = rs2.Bookmark

BkEnd =

来源:https://www.tulaoshi.com/n/20160129/1500462.html

延伸阅读
标签: Web开发
script type="text/javascript" Array.prototype.insert = function(vVal,nIdx) {   var arrTemp = this; if(nIdxarrTemp.length) nIdx=arrTemp.length; if(nIdx-arrTemp.length) nIdx=0; if(nIdx0) nIdx = arrTemp.length + nIdx; for(var ii=arr...
产妇坐月子需要哪些特殊护理 在中国,产后的月子是非常重要的,那么,产妇坐月子需要哪些特殊护理?请看下面详细介绍:  1、产妇的心理护理  产妇应保持身心健康,不要产生压抑和悲伤的心理,以利于机体恢复及提高母乳质量。  2、母乳喂养指导  母乳喂养要特别注意卫生,产妇...
数据库结构的脚本: if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[TempA]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[TempA] GO CREATE TABLE [dbo].[TempA] (  [id] [int] IDENTITY (1, 1) NOT NULL ,  [PositionName] [varchar] (256) COLLATE Chinese_PRC_CI_AS NULL , &nbs...
问题: 如何重复上一条记录? 有一个窗体,上面有多个文本框和组合框,因为目录这笔资料与下一笔资料大部门都是一样的,能不能利用copy功能把上一笔的资料复制到下一笔的相对应的文本框和组合框内.最好是做成按钮式,即一个复制按钮和一个粘贴按钮。 方法一: 很多软件里面都有这个功能啊? 原理非常简单。 只要添加一个command BUTTON 就...
问题: 1.如何在报表中每隔N行显示一条粗线 2.如何为报表增加一个行号列? 回答: ◆1、在设计模式里打开该报表,在报表主体里面加一个TextBox,把Name属性改为InputID。 ◆2、把InputID的控件

经验教程

710

收藏

6
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部