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

📄 mdmscwritingyourowncustomizedhandler.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>编写自己的自定义处理程序</title>
<style>@import url(msdn_ie4.css);</style>
</HEAD>
<BODY>
<h2><a name="mdmscwritingyourowncustomizedhandler"></a>编写自己的自定义处理程序</h2>
<p><a href="dir.htm">目录</a></p>
<p>
如果您是需要默认 RDS 支持的 IIS 服务器管理员,但需要进一步控制用户请求和访问权限,则可能需要编写自己的处理程序。</p>
<p>
MSDFMAP.Handler 实现 <b>IDataFactoryHandler </b>接口。 </p>
<h3>IDataFactoryHandler 接口</h3>
<p>
该接口有两种方法,即 <b>GetRecordset</b> 和 <b>Reconnect</b>。两种方法都要求将 <b>CursorLocation</b> 属性设置为 <b>adUseClient</b>。</p>
<p>
两种方法都取“<b>Handler</b>=”关键词的第一个逗号后面出现的参数。例如,“Handler=progid,arg1,arg2;”将传递“arg1,arg2”的参数字符串,而“Handler=progid”将传递参数 NULL。</p>
<h3>GetRecordset 方法</h3>
<p>
该方法使用提供的参数查询数据源并创建新的 <b>Recordset</b> 对象。<b>Recordset</b> 必须使用 <b>adLockBatchOptimistic</b> 打开,不能异步打开。 </p>
<p class=label>
<b>参数</b></p>
<p>
<b><i>conn</i></b>&nbsp;&nbsp;&nbsp;连接字符串。</p>
<p>
<b><i>args</i></b>&nbsp;&nbsp;&nbsp;处理程序参数。</p>
<p>
<b><i>query&nbsp;&nbsp;&nbsp;</i></b>产生查询所用的命令文本。</p>
<p>
<b><i>ppRS</i></b>&nbsp;&nbsp;&nbsp;指向返回 <b>Recordset</b> 的位置。</p>
<h3>Reconnect 方法</h3>
<p>
该方法更新数据源。它创建新的 <b>Connection </b>对象,并附加给定的 <b>Recordset</b>。 </p>
<p class=label>
<b>参数</b></p>
<p>
<b><i>conn</i></b>&nbsp;&nbsp;&nbsp;连接字符串。</p>
<p>
<b><i>args</i></b>&nbsp;&nbsp;&nbsp;处理程序参数。</p>
<p>
<b><i>pRS</i></b>&nbsp;&nbsp;&nbsp;<b>Recordset</b> 对象。</p>
<h3>msdfhdl.idl</h3>
<p>
这是出现在 <b>msdfhdl.idl</b> 文件中对 <b>IDataFactoryHandler </b>的接口定义。</p>
<pre>[
&nbsp;&nbsp;uuid(D80DE8B3-0001-11d1-91E6-00C04FBBBFB3),
&nbsp;&nbsp;version(1.0)
]
library MSDFHDL
{
&nbsp;&nbsp;&nbsp;&nbsp;importlib("stdole32.tlb");
&nbsp;&nbsp;&nbsp;&nbsp;importlib("stdole2.tlb");&nbsp;&nbsp;&nbsp;&nbsp;// TLib : Microsoft ActiveX Data Objects 2.0 Library
&nbsp;&nbsp;&nbsp;&nbsp;// {00000200-0000-0010-8000-00AA006D2EA4}
&nbsp;&nbsp;&nbsp;&nbsp;#ifdef IMPLIB
&nbsp;&nbsp;&nbsp;&nbsp;importlib("implib\\x86\\release\\ado\\msado15.dll");
&nbsp;&nbsp;&nbsp;&nbsp;#else
&nbsp;&nbsp;&nbsp;&nbsp;importlib("msado20.dll");
&nbsp;&nbsp;&nbsp;&nbsp;#endif&nbsp;&nbsp;&nbsp;&nbsp;[
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;odl,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uuid(D80DE8B5-0001-11d1-91E6-00C04FBBBFB3),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;version(1.0)
&nbsp;&nbsp;&nbsp;&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;interface IDataFactoryHandler : IUnknown
&nbsp;&nbsp;&nbsp;&nbsp;{
HRESULT _stdcall GetRecordset(
      [in] BSTR conn,
      [in] BSTR args,
      [in] BSTR query,
      [out, retval] _Recordset **ppRS);// DataFactory 将在调用 Reconnect 后
// 使用记录集的 ActiveConnection 属性。
   HRESULT _stdcall Reconnect(
      [in] BSTR conn,
      [in] BSTR args,
      [in] _Recordset *pRS);
&nbsp;&nbsp;&nbsp;&nbsp;};
};
</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 + -