| 如何在VC++ 编写的组件中使用 ADO |
|
|
|
作者:佚名 文章来源:不详 点击数: 更新时间:2006-12-5 16:38:18  |
如何在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++难用?
|
| 文章录入:bolang 责任编辑:bolang |
|
上一篇文章: VBSctipt 5.0中的新特性 下一篇文章: ADO.NET的DataSet和ADO的Recordset的比较 |
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |