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

📄 mdmscexampleadowithextensions.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>范例: 带 Extensions 的 ADO</title>
<style>@import url(msdn_ie4.css);</style>
</HEAD>
<BODY>
<h2><a name="mdmscexampleadowithextensions"></a>范例: 带 Extensions 的 ADO</h2>
<p><a href="dir.htm">目录</a></p>
<p>
该程序说明了如何从字段检索数值并将数值转换为 C++ 变量。它包括了在程序段(<a href="mdmscexampleadowithoutextensions.htm">范例:无 Extensions 的 ADO</a>)中所描述的功能。</p>
<pre>#define INITGUID
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" 
   no_namespace rename("EOF", "EndOfFile")
#include &lt;stdio.h&gt;
#include "icrsint.h"void dump_com_error(_com_error &amp;e)
   {
printf("Error\n");
printf("\a\tCode = %08lx\n", e.Error());
printf("\a\tCode meaning = %s", e.ErrorMessage());
_bstr_t bstrSource(e.Source());
_bstr_t bstrDescription(e.Description());
printf("\a\tSource = %s\n", (LPCSTR) bstrSource);
printf("\a\tDescription = %s\n", (LPCSTR) bstrDescription);
   }class CCustomRs : 
   public CADORecordBinding
{
BEGIN_ADO_BINDING(CCustomRs)
   ADO_VARIABLE_LENGTH_BINDING_ENTRY(1, adVarChar, m_szau_lname, 
         sizeof(m_szau_lname), lau_lnameStatus, FALSE)
   ADO_VARIABLE_LENGTH_BINDING_ENTRY(2, adVarChar, m_szau_fname, 
         sizeof(m_szau_fname), lau_fnameStatus, TRUE)
END_ADO_BINDING()public:
   CHAR   m_szau_lname[41];
   ULONG   lau_lnameStatus;
   CHAR   m_szau_fname[41];
   ULONG   lau_fnameStatus;
};VOID   main()
   {
   HRESULT hr;
   IADORecordBinding   *picRs = NULL;
   
   ::CoInitialize(NULL);   try 
      {
      _RecordsetPtr pRs.CreateInstance(__uuidof(Recordset));      CCustomRs rs;
      
      pRs-&gt;Open("select FirstName, LastName, Age from Employees", 
         "dsn=pubs;uid=sa;pwd=;", 
         adOpenStatic, adLockOptimistic, adCmdUnknown);
      
      if (FAILED(hr = pRs-&gt;QueryInterface(__uuidof(IADORecordBinding), 
            (LPVOID*)&amp;picRs)))
         _com_issue_error(hr);
      
      if (FAILED(hr = picRs-&gt;BindToRecordset(&amp;rs)))
         _com_issue_error(hr);      while (VARIANT_FALSE == pRs-&gt;EndOfFile)
         {
      // 处理 CCustomRs C++ 实例变量中的数据。         printf("\a\tName = %s \t%s", 
            (lau_fnameStatus == adFldOK ? m_szau_fname : "&lt;NULL&gt;"), 
            (lau_lnameStatus == adFldOK ? m_szau_lname): "&lt;NULL&gt;"));      // 更改 Recordset 的当前行。 
      // 新当前行的 Recordset 数据将被
      // 自动取出并防止在 CCustomRs C++ 实例变量中。
   
         pRs-&gt;MoveNext();
         }
      }
   catch (_com_error &amp;e)
      {
      dump_com_error(e);
      }   if (picRs)
      picRs-&gt;Release();   CoUninitialize();
   };
</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 + -