⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mdprobofx.htm

📁 ADO使用手册,非常详细
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML dir=ltr>
<HEAD>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=gb2312"><title>BOF、EOF 和 Bookmark 属性范例</title>
<style>@import url(msdn_ie4.css);</style>
</HEAD>
<BODY>
<h3><a name="mdprobofx"></a>BOF、EOF 和 Bookmark 属性范例</h3>
<p>
该范例使用 <b>BOF</b> 和 <b>EOF</b> 属性,在用户试图移过 <b>Recordset</b> 的第一个和最后一个记录时显示一条信息。它通过 <b>Bookmark</b> 属性使用户对 <b>Recordset</b> 中的记录进行标记,稍后再返回给它。</p>
<pre>Public Sub BOFX()   Dim rstPublishers As ADODB.Recordset
   Dim strCnn As String
   Dim strMessage As String
   Dim intCommand As Integer
   Dim varBookmark As Variant   ' 使用来自出版商表的数据打开记录集。
   strCnn = "Provider=sqloledb;" &amp; _
      "Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "
   Set rstPublishers = New ADODB.Recordset
   rstPublishers.CursorType = adOpenStatic
   ' 使用客户端游标启用 AbsolutePosition 属性。
   rstPublishers.CursorLocation = adUseClient
   rstPublishers.Open "SELECT pub_id, pub_name FROM publishers " &amp; _
      "ORDER BY pub_name", strCnn, , , adCmdText   rstPublishers.MoveFirst   Do While True
      ' 显示关于当前记录的信息并让用户输入。
      strMessage = "Publisher: " &amp; rstPublishers!pub_name &amp; _
         vbCr &amp; "(record " &amp; rstPublishers.AbsolutePosition &amp; _
         " of " &amp; rstPublishers.RecordCount &amp; ")" &amp; vbCr &amp; vbCr &amp; _
         "Enter command:" &amp; vbCr &amp; _
         "[1 - next / 2 - previous /" &amp; vbCr &amp; _
         "3 - set bookmark / 4 - go to bookmark]"
      intCommand = Val(InputBox(strMessage))      Select Case intCommand
         ' 向前或向后移动,捕获 BOF 或 EOF。
         Case 1
            rstPublishers.MoveNext
            If rstPublishers.<span class=cfe><b>EOF</b></span> Then
               MsgBox "Moving past the last record." &amp; _
                  vbCr &amp; "Try again."
               rstPublishers.MoveLast
            End If
         Case 2
            rstPublishers.MovePrevious
            If rstPublishers.<span class=cfe><b>BOF</b></span> Then
               MsgBox "Moving past the first record." &amp; _
                  vbCr &amp; "Try again."
               rstPublishers.MoveFirst
            End If         ' 保存当前记录的书签。
         Case 3
            varBookmark = rstPublishers.<span class=cfe><b>Bookmark</b></span>         ' 转到由存储的书签所指示的记录。
         Case 4
            If IsEmpty(varBookmark) Then
               MsgBox "No Bookmark set!"
            Else
               rstPublishers.Bookmark = varBookmark
            End If         Case Else
            Exit Do
      End Select   Loop   rstPublishers.CloseEnd Sub
</pre>
<p>
该范例使用 <b>Bookmark </b>和 <b>Filter </b>属性创建记录集的限定视图,将只允许访问书签数组所引用的记录。</p>
<pre>Public Sub BOFX2()Dim rs As New ADODB.Recordset
Dim bmk(10)rs.CursorLocation = adUseClient
rs.ActiveConnection = "Provider=sqloledb;" &amp; _
      "Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=;" rs.Open "select * from authors", , adOpenStatic, adLockBatchOptimistic
Debug.Print "Number of records before filtering: ", rs.RecordCountii = 0
While rs.EOF &lt;&gt; True And ii &lt; 11
 &nbsp;&nbsp; bmk(ii) = rs.Bookmark
 &nbsp;&nbsp; ii = ii + 1
 &nbsp;&nbsp; rs.Move 2
Wend
rs.Filter = bmk
Debug.Print "Number of records after filtering: ", rs.RecordCountrs.MoveFirst
While rs.EOF &lt;&gt; True
 &nbsp;&nbsp; Debug.Print rs.AbsolutePosition, rs("au_lname")
 &nbsp;&nbsp; rs.MoveNext
Wend
 &nbsp;&nbsp; 
End Sub</pre>
<center> <A HREF="http://www.51windows.Net">www.51windows.Net</A></center>
<SCRIPT LANGUAGE="JavaScript" src="/log/sitelog2.asp"></SCRIPT>
<script src="script.js"></script></BODY>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -