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

2016-01-29 17:09 59 1 收藏

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

【 tulaoshi.com - ASP 】

  若要让RecordSet移动到上一条下一条的位置,让我们先学会以下RecordSet对象的属性和方法:

BOF属性:当前游标指到RecordSet的第一条记录。
EOF属性:当前游标指到RecordSet的最后一条记录。
Move方法:移动游标到RecordSet中的某一个记录。
AbsolutePosition属性:当前游标在RecordSet中的位置。
bookmark(书签)属性:对RecordSet的一条记录做一个记号。

详细介绍如下:

BOF与EOF属性

可以编写程式码来检查BOF与EOF属性,来得知当前游标RecordSet的位置:

BOF与EOF都为False:表示游标位于RecordSet当中。
BOF为True:当前游标指到RecordSet的第一条记录。
EOF为True:当前游标指到RecordSet的最后一条记录。
BOF与EOF都为True:在RecordSet里没有任何的资料记录。
Move方法

您可以用Move方法移动游标到RecordSet中的某一条记录:

MoveFirst方法:移至第一条记录。
MoveLast方法:移至最后一条记录。
MoveNext方法:移至下一条记录。
MovePrevious方法:移至上一条记录。
Move [n]方法:移动游标到第n条记录,n由0算起。
AbsolutePosition属性

若您需要确定当前游标在RecordSet中的位置,您可以用AbsolutePosition属性。

AbsolutePosition属性的数值为当前游标相对于第一条的位置,由1算起,即第一条的AbsolutePosition为1。

然而,不要误以为AbsolutePosition是资料记录的编号,如果当前RecordSet处于未定的状态,则

AsolutePosition的数值为�1。

另外,在存取RecordSet时,无法保证RecordSet每次都以同样的顺序出现。

若要启用AbsolutePosition,必须先设定为使用用户端cursor,asp码如下:

rs2.CursorLocation = 3


一、Move/AbsolutePosition的例子

让我们看一个於ASP程式码当中使用Move/AbsolutePosition做到上一条下一条记录功能的例子。

譬如ASP程式码rs14.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 着作"

'Enable AbsolutePosition

rs2.CursorLocation = 3 'adUseClient

rs2.Open SqlStr,conn1,1,1

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

Session("position") = Session("position") - 1

rs2.Move Session("position")

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

Session("position") = Session("position") + 1

rs2.Move Session("position")

else

Session("position") = 0

end if

%

<% = Session("position") %

<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

<TD ALIGN=CENTER BGCOLOR="#008080"<FONT COLOR="#FFFFFF"AbsolutePosition</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

<TD BGCOLOR="f7efde" ALIGN=CENTER<%= rs2.AbsolutePosition %</TD

</TR

</TABLE

<% if Session("position") 0 then %

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

<% end if %

<% if Session("position") <

来源:http://www.tulaoshi.com/n/20160129/1500483.html

延伸阅读
产妇坐月子需要哪些特殊护理 在中国,产后的月子是非常重要的,那么,产妇坐月子需要哪些特殊护理?请看下面详细介绍:  1、产妇的心理护理  产妇应保持身心健康,不要产生压抑和悲伤的心理,以利于机体恢复及提高母乳质量。  2、母乳喂养指导  母乳喂养要特别注意卫生,产妇...
标签: PS PS教程
下面是要用到的素材. screen.width-500)this.style.width=screen.width-500;" border=0 pop="按此在新窗口浏览图片"> screen.width-500)this.style.width=screen.width-500;" border=0> screen.width-500)this.style.width=screen.width-500;" border=0> screen.width-500)this.style.width=screen.width-500;" border=0> ...
标签: 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...
问题: 如何重复上一条记录? 有一个窗体,上面有多个文本框和组合框,因为目录这笔资料与下一笔资料大部门都是一样的,能不能利用copy功能把上一笔的资料复制到下一笔的相对应的文本框和组合框内.最好是做成按钮式,即一个复制按钮和一个粘贴按钮。 方法一: 很多软件里面都有这个功能啊? 原理非常简单。 只要添加一个command BUTTON 就...
数据库结构的脚本: 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...

经验教程

718

收藏

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