|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
若要让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") < rs2.RecordCount -1 then %> <A href=rs14.asp?sel=next>下一条</A> <% end if %> <% rs2.Close %> 以上的 ASP程式码rs14.asp,在用户端使用浏览器,浏览执行的结果,显示上一条下一条的功能。 由Session("position")储存这个使用者的RecordSet游标位置,当按下 [上一条] 超级连接时,由<A href=rs14.asp?sel=prev>上一条</A>,将sel设定为prev,并重新执行rs14.asp的asp码。由以下的程式部份, 将Session("position")减一: 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 然后使用Move Session("position")方式,将移动游标到第Session("position")个记录,第一条记录的Session("position")值为0。 当按下 [下一条] 超级连接时,由<A href=rs14.asp?sel=next>下一条</A>,将sel设定为next,并重新执行rs14.asp的asp码。由以上的程式部份,将Session("position")加一,然后使用Move Session("position")方式,将移动指标到第Session("position")个记录。 AbsolutePosition部份,首先由rs2.CursorLocation = 3设定为使用用户端cursor,以启用AbsolutePosition,即可由<%= rs2.AbsolutePosition %>显示AbsolutePosition的值。 为了判定是否要显示 [上一条] [下一条] 超级连接,由以下的程式部份: <% if Session("position") > 0 then %> <A href=rs14.asp?sel=prev>上一条</A> <% end if %> <% if Session("position") < rs2.RecordCount -1 then %> <A href=rs14.asp?sel=next>下一条</A> <% end if %> 就可以使用if Session("position") > 0、if Session("position") < rs2.RecordCount -1,比较当前的位置Session("position")和第一条0、第末条RecordCount -1的位置,来判定是否要显示 [上一条] [下一条] 的超级连接。 返回类别: 教程 上一教程: 无组件上传图片到数据库中 下一教程: 全面考察“禁用浏览器后退按钮” 您可以阅读与"对数据库中的记录用上一条下一条显示(一)"相关的教程: · 对数据库中的记录用上一条下一条显示(三) · 对数据库中的记录用上一条下一条显示(二) · 对数据库中的记录用上一条下一条显示(三) · 对数据库中的记录用上一条下一条显示(二) · 让数据库中的记录用上一条下一条显示 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |