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

📄 mdmthrstopen.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>Open 方法 (ADO Recordset)</title>
<style>@import url(msdn_ie4.css);</style>
</HEAD>
<BODY>
<h1><a name="mdmthrstopen"></a>Open 方法 (ADO Recordset)</h1>

<p>
打开游标。</p>
<p class=label>
<b>语法</b></p>
<p>
<i>recordset</i><b>.Open</b> <b><i>Source</i>,</b> <b><i>ActiveConnection</i>,</b> <b><i>CursorType</i>,</b> <b><i>LockType</i>,</b> <b><i>Options</i></b></p>
<p class=label>
<b>参数</b></p>
<p>
<b><i>Source&nbsp;&nbsp;&nbsp;</i></b>可选,变体型,计算 <a href="mdobjcommand.htm">Command</a> 对象的变量名、SQL 语句、表名、存储过程调用或持久 <b>Recordset</b> 文件名。</p>
<p>
<b><i>ActiveConnection&nbsp;&nbsp;&nbsp;</i></b>可选。变体型,计算有效 <b>Connection </b>对象变量名;或字符串,包含 <a href="mdproconnectionstring.htm">ConnectionString</a> 参数。</p>
<p>
<b><i>CursorType&nbsp;&nbsp;&nbsp;</i></b>可选,<b>CursorTypeEnum</b> 值,确定提供者打开 <b>Recordset </b>时应该使用的游标类型。可为下列常量之一(参阅 <a href="mdprocursortype.htm">CursorType</a> 属性可获得这些设置的定义)。</p>
<table border=1 cellpadding=5 cols=2 frame=below rules=rows>
<tr valign=top>
<td class=label width=31%><b>常量</b></td>
<td class=label width=69%><b>说明</b></td>
</tr>
<tr valign=top>
<td width=31%><b>AdOpenForwardOnly</b></td>
<td width=69%>(默认值)打开仅向前类型游标。</td>
</tr>
<tr valign=top>
<td width=31%><b>AdOpenKeyset</b></td>
<td width=69%>打开键集类型游标。</td>
</tr>
<tr valign=top>
<td width=31%><b>AdOpenDynamic</b></td>
<td width=69%>打开动态类型游标。</td>
</tr>
<tr valign=top>
<td width=31%><b>AdOpenStatic</b></td>
<td width=69%>打开静态类型游标。</td>
</tr>
</table><br>
<p>
<b><i>LockType&nbsp;&nbsp;&nbsp;</i></b>可选。确定提供者打开 <b>Recordset </b>时应该使用的锁定(并发)类型的 <b>LockTypeEnum </b>值,可为下列常量之一(参见 <a href="mdprolocktype.htm">LockType</a> 属性可获得详细信息)。</p>
<table border=1 cellpadding=5 cols=2 frame=below rules=rows>
<tr valign=top>
<td class=label width=34%><b>常量</b></td>
<td class=label width=66%><b>说明</b></td>
</tr>
<tr valign=top>
<td width=34%><b>AdLockReadOnly</b></td>
<td width=66%>(默认值)只读 — 不能改变数据。</td>
</tr>
<tr valign=top>
<td width=34%><b>AdLockPessimistic</b></td>
<td width=66%>保守式锁定(逐个) — 提供者完成确保成功编辑记录所需的工作,通常通过在编辑时立即锁定数据源的记录。</td>
</tr>
<tr valign=top>
<td width=34%><b>AdLockOptimistic</b></td>
<td width=66%>开放式锁定(逐个) — 提供者使用开放式锁定,只在调用<a href="mdmthupdate.htm">Update</a> 方法时才锁定记录。</td>
</tr>
<tr valign=top>
<td width=34%><b>AdLockBatchOptimistic</b></td>
<td width=66%>开放式批更新—用于批更新模式(与立即更新模式相对)。</td>
</tr>
</table><br>
<p>
<b><i>Options&nbsp;&nbsp;&nbsp;</i></b>可选,<b>长整型</b>值,用于指示提供者如何计算 Source 参数(如果它代表的不是 <b>Command</b> 对象),或从以前保存 <b>Recordset</b> 的文件中恢复 <b>Recordset</b>。可为下列常量之一(参见 <a href="mdprocommandtype.htm">CommandType</a> 属性可获得该列表中前五个常量的详细说明)。</p>
<table border=1 cellpadding=5 cols=2 frame=below rules=rows>
<tr valign=top>
<td class=label width=29%><b>常量</b></td>
<td class=label width=71%><b>说明</b></td>
</tr>
<tr valign=top>
<td width=29%><b>adCmdText</b></td>
<td width=71%>指示提供者应该将 <b><i>Source </i></b>作为命令的文本定义来计算。</td>
</tr>
<tr valign=top>
<td width=29%><b>adCmdTable</b></td>
<td width=71%>指示 ADO 生成 SQL 查询以便从在 <b><i>Source</i></b> 中命名的表中返回所有行。</td>
</tr>
<tr valign=top>
<td width=29%><b>adCmdTableDirect</b></td>
<td width=71%>指示提供者更改从在<b><i> Source</i></b> 中命名的表中返回所有行。</td>
</tr>
<tr valign=top>
<td width=29%><b>adCmdStoredProc</b></td>
<td width=71%>指示提供者应该将 <b><i>Source </i></b>视为存储过程。</td>
</tr>
<tr valign=top>
<td width=29%><b>adCmdUnknown</b></td>
<td width=71%>指示<b><i> Source</i></b> 参数中的命令类型为未知。</td>
</tr>
<tr valign=top>
<td width=29%><b>adCmdFile</b></td>
<td width=71%>指示应从在<b><i> Source</i></b> 中命名的文件中恢复保留(保存的)<b>Recordset</b>。</td>
</tr>
<tr valign=top>
<td width=29%><b>adAsyncExecute</b></td>
<td width=71%>指示应异步执行 <b><i>Source</i></b>。</td>
</tr>
<tr valign=top>
<td width=29%><b>adAsyncFetch</b></td>
<td width=71%>指示在提取<b> Initial Fetch Size</b> 属性中指定的初始数量后,应该异步提取所有剩余的行。如果所需的行尚未提取,主要的线程将被堵塞直到行重新可用。</td>
</tr>
<tr valign=top>
<td width=29%><b>adAsyncFetchNonBlocking</b></td>
<td width=71%>指示主要线程在提取期间从未堵塞。如果所请求的行尚未提取,当前行自动移到文件末尾。</td>
</tr>
</table><br>
<p class=label>
<b>说明</b></p>
<p>
使用 <b>Recordset </b>对象的 <b>Open </b>方法可打开代表基本表、查询结果或者以前保存的 <b>Recordset </b>中记录的游标。</p>
<p>
使用可选的 <b><i>Source </i></b>参数指定使用下列内容之一的数据源:<b>Command </b>对象变量、SQL 语句、存储过程、表名或完整的文件路径名。</p>
<p>
如果 <b><i>Source</i></b> 是文件路径名,它可以是完整路径(“c:\dir\file.rst”)、相对路径(“..\file.rst”)或 URL(“http://files/file.rst”)。</p>
<p>
<b><i>ActiveConnection </i></b>参数对应于 <a href="mdproactivecon.htm">ActiveConnection</a> 属性,并指定在哪个连接中打开 <b>Recordset</b> 对象。如果传送该参数的连接定义,则 ADO 使用指定的参数打开新连接。可以在打开 <b>Recordset</b> 之后更改该属性的值以便将更新发送到其他提供者。或者可以将该属性设置为 <b>Nothing</b>(在 Microsoft Visual Basic 中)以便将 <b>Recordset</b> 与所有提供者断开。</p>
<p>
对于直接对应于<b> Recordset</b> 对象属性的参数(<b><i>Source</i></b>、<b><i>CursorType</i></b> 和 <b><i>LockType</i></b>),参数和属性的关系如下:
<ul type=disc>
<li>
在<b> Recordset</b> 对象打开之前属性是读/写。<br><br></li>
<li>
除非在执行 <b>Open</b> 方法时传送相应的参数,否则将使用属性设置。如果传送参数,则它将覆盖相应的属性设置,并且用参数值更新属性设置。<br><br></li>
<li>
在打开 <b>Recordset</b> 对象后,这些属性将变为只读。</li>
</ul>
<p class=indent>
<B><b>注意&nbsp;&nbsp;&nbsp;</b></B>对于其 <a href="mdprorstsource.htm">Source</a> 属性被设置为有效<b> Command</b> 对象的 <b>Recordset</b> 对象,即使<b> Recordset</b> 对象没有打开,<b>ActiveConnection</b> 属性也是只读的。</p>
<p>
如果在<b><i> Source</i></b> 参数中传送<b> Command</b> 对象并且同时传递<i><b> ActiveConnection</b> </i>参数,那么将产生错误。<b>Command</b> 对象的<b> ActiveConnection</b> 属性必须已经设置为有效的<b> Connection</b> 对象或者连接字符串。</p>
<p>
如果在<b><i> Source</i></b> 参数中传送的不是<b> Command</b> 对象,那么可以使用<b><i> Options</i></b> 参数优化对<b><i> Source</i></b> 参数的计算。如果没有定义<b><i> Options</i></b> 则性能将会降低,原因是 ADO 必须调用提供者以确定参数是否为 SQL 语句、存储过程或表名。如果已确定所用的<b><i> Source</i></b> 类型,则可以设置<b><i> Options</i></b> 参数以指示 ADO 直接跳到相关的代码。如果<b><i> Options</i></b> 参数不匹配<b><i> Source</i></b> 类型,将产生错误。</p>
<p>
如果不存在与 <b>Recordset</b> 关联的连接,<b><i>Options</i></b> 参数的默认值将为 <b>adCmdFile</b>。这是持久<b> Recordset</b> 对象的典型情况。</p>
<p>
如果数据源没有返回记录,那么提供者将 <a href="mdprobof.htm">BOF</a> 和 <a href="mdprobof.htm">EOF</a> 属性同时设置为 <b>True</b>,并且不定义当前记录位置。如果游标类型允许,仍然可以将新数据添加到该空 <b>Recordset</b> 对象。</p>
<p>
在打开的<b> Recordset</b> 对象上完成操作时,可使用 <a href="mdmthclose.htm">Close</a> 方法释放任何相关的系统资源。关闭对象并非将它从内存中删除,可以更改它的属性设置并且在以后使用<b> Open</b> 方法再次将其打开。要将对象从内存中完全删除,可将对象变量设置为 <i>Nothing</i>。</p>
<p>
在设置<b> ActiveConnection</b> 属性之前调用不带操作数的 <b>Open</b>,可通过将字段追加到 <b>Recordset</b> <b>Fields</b> 集合创建<b> Recordset</b> 的实例。</p>
<p>
如果已经将 <b>CursorLocation</b> 属性设置为 <b>adUseClient</b>,就可以采用两种途径之一异步检索行。建议使用的方法是将 <b><i>Options</i></b> 设置为 <b>adAsyncFetch</b>。或者,可以使用在 <b>Properties</b> 集合中的“异步行集合处理”动态属性,但如果未将 <b>Options</b> 参数设置为 <b>adAsyncFetch,</b>则可能丢失相关的被检索事件。</p>
<p>
<B><b>注意</b></B>&nbsp;&nbsp;&nbsp;在 MSRemote 提供者中的背景提取仅能通过 <b>Open</b> 方法的 <b><i>Options</i></b> 参数得到支持。</p>
<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 + -