繁体中文
设为首页
加入收藏
当前位置:ASP技术首页 >> 组件开发 >> 如何在VC++ 编写的组件中使用 ADO

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

2006-07-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:  简介 这篇文章是给那些习惯于用VB开发组件的人想转用VC++时看的。本文用一个简单的例子示范如何使用ADO Recordset 对象。 在VB中,当你想要返回一个ADO Recordset,你会这样写… Function GetRecordset() As...
关键字:nbsp 组件 ADO VC

  简介

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

责任编辑:admin
相关文章