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

ASP
一种比较方便的ASP分页程序
用一套论坛程序架设多个论坛
ASP与ASP.NET在COOKIE方面的区别
较长数据无法在Asp页面中取出的三种解决方法
初试WAP之wml+ASP查询
动态网站首页的静态生成方法
使用正则表达式实现模式图片新闻.ASP
让你的WAP网站有更好的兼容性
WAP版的手机号码所在地查询
asp模仿 Lotus Notes 的界面程序
ORACLE920与ASP的连接问题的解决办法
利用SQLSERVER存储过程实现ASP用户身份验证
在ASP中自动创建多级文件夹的函数(使用FSO)
利用instr()函数防止SQL注入攻击
利用XSL和ASP实现XML文档在线编辑
表单对象textarea内容的格式控制(回车、换行、空格)
针对select写了一个通用的option输出函数
ASP无组件BMP汉字生成类+汉字点阵库
时间、空间性能极优的asp无组件上传类
无组件生成BMP验证码

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


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