动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   Asp → 阅读文章

 如何在VC++ 编写的组件中使用 ADO

作者:讨饭猫翻译 来源:www.chinaasp.com 
阅读 4400 人次 , 2001-1-16 

简介
这篇文章是给那些习惯于用VB开发组件的人想转用VC++时看的。本文用一个简单的例子示范如何使用ADO Recordset 对象。
在VB中,当你想要返回一个ADO Recordset,你会这样写…
Function GetRecordset() As Object
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cn = New ADODB.Connection
cn.Open "DSN=AdvWorks"
Set rs = cn.Execute("Select * From Customers")
Set GetRecordset = rs
End Function

那么让我们来看看用VC++如何实现呢?
在VB中,你会使用’Project->References菜单来使用其它COM组件,例如ADO。在VC++中,要使用#import声明。在你的.CPP或.H文件中插入这样一句。
#import "c:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename ( "EOF", "adoEOF" )

然后加一个方法。右击ClassView ,选择 Add Method。
Method Name: GetRecordset
Parameters: [out, retval] IDispatch **RS]
现在是关键…
STDMETHODIMP CADOSample::GetRecordset(IDispatch **RS)
{
_ConnectionPtr pCN;
_RecordsetPtr pRS;
_variant_t vtEmpty;
pCN.CreateInstance(__uuidof(Connection));
pCN->Open("DSN=AdvWorks", "", "", -1);
pRS = pCN->Execute("Select * From Customers",
&vtEmpty, adCmdUnknown);
pRS->QueryInterface(IID_IDispatch,
(void**) RS);
return S_OK;
}

看看,VC++程序几乎与VB一模一样,谁说VC++难用?
Jan.14 2001

  

 本文Tags组件  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:一个用c#写的扫描asp源码漏洞的应用程序
· 下一篇:利用WSH作定時工作排程
· 如何用ASP创建日志文件
· 在ASP程序中访问Access数据库
· 在ASP中用集合成批操作数据库(一)
· ASP数据库语法总结
· 把NT 4.0下的ASP应用迁移到Windows 2000上(1.2)


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077