社区
ASP
帖子详情
recordset里的bookmark属性有什么用?
QYworld
2002-02-08 06:45:21
书上写的是可以提供记录或指向数据指针当前位置的功能!这是什么意思?
具体怎么用?谢谢!
...全文
118
2
打赏
收藏
recordset里的bookmark属性有什么用?
书上写的是可以提供记录或指向数据指针当前位置的功能!这是什么意思? 具体怎么用?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
希偌
2002-02-08
打赏
举报
回复
这个例子或许能解决你的问题!
希偌
2002-02-08
打赏
举报
回复
三、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 = rs2.Bookmark + rs2.RecordCount - 1
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 %>
就可以使用if Session("Bookmark") > BkStart、if Session("Bookmark") < BkEnd,比较当前的位置Session("Bookmark")和第一条BkStart、第末条BkEnd的位置,来判断是否要显示 [上一条] [下一条] 的超连结。
数据库中数据集类
Recordset
的详细讲解
Recordset
对象方法详解,比较详细,适合新手
VB中
recordset
的用法
VB中
recordset
的用法,很全,很不错
用
Book
mark
定位记录
当双击列表框
里
的某一条记录时,当前窗体会自动定位到相应的记录
Recordset
对象操作
SQL语句及
Recordset
记录集对象详解
成语字典代码
Recordsource
Recordset
book
mark
Option Compare Database Private Sub Form_Close() 'DoCmd.Quit acQuitSaveNone 'Application.Quit acQuitSaveNone End Sub Private Sub Form_Load() 'DoCmd.RunCommand acCmdAppMinimize Set Me.SUB.Form.
Recordset
= Me.
Recordset
End Sub Private Sub Image13_Click() Me.
Recordset
.MoveFirst Me!SUB.Form!CM.SelLength = 0 End Sub Private Sub Image14_Click() On Error Resume Next Me.
Recordset
.MovePrevious Me!SUB.Form!CM.SelLength = 0 End Sub Private Sub Image15_Click() 'Forms!main.
Recordset
.MoveNext 'Forms!main!SUB.Form!CM.SelLength = 0 '****************************************** On Error Resume Next Me.
Recordset
.MoveNext Me!SUB.Form!CM.SelLength = 0 '****************************************** 'Me.
Recordset
.MoveNext 'Me.SUB.Form.CM.SelLength = 0 End Sub Private Sub Image16_Click() Me.
Recordset
.MoveLast Me!SUB.Form!CM.SelLength = 0 End Sub Private Sub Image19_Click() On Error Resume Next Me.SUB.SetFocus End Sub Private Sub srch_AfterUpdate() 'Me.SUB.SetFocus If Nz(Me.srch) <> "" Then If IsNull(DLookup("CM", "Main", "CM LIKE '*" & Me.srch & "*'")) Then MsgBox "找不到包含[" & Me.srch & "]的成语" Me.srch = "" Exit Sub End If Me.RecordSource = "select * from main where CM LIKE '*" & Me.srch & "*'" Else Me.RecordSource = "main" End If Me.srch = "" 'Set Me.SUB.Form.
Recordset
= Me.
Recordset
Set Me!SUB.Form.
Recordset
= Me.
Recordset
Me.Requery 'Me.SUB.SetFocus Me.SUB.Form.CM.SelLength = 0 End Sub
ASP
28,406
社区成员
356,946
社区内容
发帖
与我相关
我的任务
ASP
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
复制链接
扫一扫
分享
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章