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

ASP
利用ASP输出excel文件一例
asp中使用js的encodeURIComponent
ASP动态网站制作中使用MYSQL的分析
如何编写通用的ASP防SQL注入攻击程序
ASP脚本变量、函数、过程和条件语句
ASP内建对象Application和Session
ASP基础教程:常用的 ASP ActiveX 组件
ASP程序漏洞解析及黑客入侵防范方法
ASP访问带多个参数的存储过程
用ASP和SQL语句动态的创建Access表
ASP初学者学习ASP指令
ASP开发中有用的函数(function)集合(1)
ASP开发中有用的函数(function)集合(2)
ASP开发中有用的函数(function)集合(3)
ASP网站程序自动升级实现的方法
ASP开发中的(VBScript)类基础学习
ASP代码:防止重复多次提交表单的方法
在ASP中使用类,实现模块化
ASP基础教程之学习ASP中子程序的应用
ASP技巧:ASP中三个常用语句的使用技巧

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 118 ::
收藏到网摘: 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++难用?