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

📄 mdmthclonex.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>Clone 方法范例 (Visual Basic)</title>
<style>@import url(msdn_ie4.css);</style>
</HEAD>
<BODY>
<h3><a name="mdmthclonex"></a>Clone 方法范例 (Visual Basic)</h3>
<p>
该范例使用 Clone 方法创建 <b>Recordset</b> 的副本并让用户独立地为每个副本的记录指针定位。</p>
<pre>Public Sub CloneX()   Dim arstStores(1 To 3) As ADODB.Recordset
   Dim intLoop As Integer
   Dim strSQL As String
   Dim strCnn As String
   Dim strMessage As String
   Dim strFind As String   ' 将 SQL 语句和连接字符串赋值给变量。
   strSQL = "SELECT stor_name FROM Stores " &amp; _
      "ORDER BY stor_name"
      strCnn = "Provider=sqloledb;" &amp; _
      "Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "   ' 将记录集作为静态游标类型记录集打开。
   Set arstStores(1) = New ADODB.Recordset
   arstStores(1).CursorType = adOpenStatic
   arstStores(1).LockType = adLockBatchOptimistic
   arstStores(1).Open strSQL, strCnn, , , adCmdText   ' 创建原始 Recordset 的两个副本。
   Set arstStores(2) = arstStores(1).<i>Clone</i>
   Set arstStores(3) = arstStores(1).<i>Clone</i>   Do While True      ' 在数组中循环以使用户每一遍都搜索相同 Recordset 的不同副本。
      For intLoop = 1 To 3         ' 要求在显示每个 Recordset 当前记录集指针位置时搜索字符串。
         strMessage = _
            "Recordsets from stores table:" &amp; vbCr &amp; _
            "&nbsp; 1 - Original - Record pointer at " &amp; _
            arstStores(1)!stor_name &amp; vbCr &amp; _
            "&nbsp; 2 - Clone - Record pointer at " &amp; _
            arstStores(2)!stor_name &amp; vbCr &amp; _
            "&nbsp; 3 - Clone - Record pointer at " &amp; _
            arstStores(3)!stor_name &amp; vbCr &amp; _
            "Enter search string for #" &amp; intLoop &amp; ":"
         strFind = Trim(InputBox(strMessage))
         If strFind = "" Then Exit Do         ' 查找搜索字符串,如果没有匹配的,请跳转到最后的记录。
         arstStores(intLoop).Filter = "stor_name &gt;= '" &amp; strFind &amp; "'"
         If arstStores(intLoop).EOF Then
            arstStores(intLoop).Filter = adFilterNone
            arstStores(intLoop).MoveLast
         End If      Next intLoop   Loop   arstStores(1).Close
   arstStores(2).Close
   arstStores(3).CloseEnd Sub
</pre>
<p class=label>
<b>VBScript 版本</b></p>
<p>
下面是使用 VBScript 编写、并用于 Active Server Page (ASP) 的相同范例。如需查看该完整功能范例,请使用与 IIS 一同安装并位于 C:\InetPub\ASPSamp\AdvWorks 的数据源 AdvWorks.mdb,来创建名为 AdvWorks 的系统“数据源名称”(DSN)。这是 Microsoft Access 数据库文件。请使用“查找”命令定位文件 Adovbs.inc,并将其放入计划使用的目录中。请将以下代码剪切并粘贴到“记事本”或其他文本编辑器中,另存为“Clone.asp”。这样,便可在任何客户端浏览器中查看结果。</p>
<p>
如要执行该范例,请将行 RsCustomerList.Source = "Customers" 改为 RsCustomerList.Source = "Products" 以便为更大的表计数。</p>
<pre>&lt;!-- #Include file="ADOVBS.INC" --&gt;
&lt;% Language = VBScript %&gt;
&lt;HTML&gt;&lt;HEAD&gt;
&lt;TITLE&gt;ADO Clone Method&lt;/TITLE&gt;
&lt;/HEAD&gt;&lt;BODY&gt; &lt;Center&gt;
&lt;H3&gt;ADO Clone Method&lt;/H3&gt;
&lt;!--- A用于创建记录集的 ADO Connection 对象 --&gt;
&lt;% 
' 创建并打开 Connection 对象。
Set OBJdbConnection = Server.CreateObject("ADODB.Connection") 
OBJdbConnection.Open "AdvWorks" 
' 创建并打开 Recordset 对象。
Set RsCustomerList = Server.CreateObject("ADODB.Recordset")
RsCustomerList.ActiveConnection = OBJdbConnection
RsCustomerList.CursorType = adOpenKeyset
RsCustomerList.LockType = adLockOptimistic
RsCustomerList.Source = "Customers"
RsCustomerList.Open
%&gt;
&lt;HR&gt;
&lt;!-- 在 Customers 表中循环,每循环一次将 Counter 变量加 1 --&gt;
&lt;% 
   Set MyRecordset = RSCustomerList.Clone
   Counter = 0
   Do Until MyRecordset.EOF
      Counter = Counter + 1
      MyRecordset.MoveNext
   Loop
%&gt;
&lt;!-- 显示结果 --&gt;
&lt;H3&gt;There Are &lt;%=Counter %&gt; Records in the Customers Table&lt;/H3&gt;
&lt;BR&gt;&lt;HR&gt;
&lt;H4&gt;Location of DSN Datbase&lt;/H4&gt;
&lt;%' Show location of DSN data source
Response.Write(OBJdbConnection)
%&gt;
&lt;HR&gt;&lt;/Center&gt;&lt;/BODY&gt;&lt;/HTML&gt;
</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 + -