当前位置: 首页 > 图文教程 > 网络编程 > ASP > 如何在VC++ 编写的组件中使用 ADO

ASP
自动采集程序
一个防止被采集的方法
帮你打造属于自己的搜索引擎---百度篇
实例讲解ASP实现抓取网上房产信息
XMLHTTP批量抓取远程资料
XMLHTTP抓取远程数据的后期处理
用XMLHTTP很好的一个例子
采集原理---采集技术篇---XMLHTTP
小偷,采集程序常用函数
服务器常用组件
如何在不支持数据库的asp主页上运用ado
做文章系统时, 如何让长篇的文章自动换行
Access中使用Create Procedure创建存储过程
ASP中的时间函数大全 时间操作函数
无组件实现文件上传/下载
asp网页邮箱访问
不用模板只用ASP+FSO生成静态HTML页的一个方法
用sql设置access的默认值
Asp事务处理
统计有多少行JS代码和ASP代码

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 219 ::
收藏到网摘: n/a

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

简介
这篇文章是给那些习惯于用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++难用?