首 页 | 网页模板 | 教程 | 源码下载 | 书籍下载 | 图片素材 | 字体 | JAVA特效 | FLASH源码 | 软件 | 矢量 | 论坛 | 其它 |
设为主页
加入收藏
联系站长
平面设计 | 网页制作 | 程序编写 | 数 据 库 | 媒体动画 | 网络冲浪 | 服务器相关 |
当前在线
广告:P4服务器电信机房6999/年即送产权 | 疾风下载
如何在VC++ 编写的组件中使用 ADO
2004-2-29 7:08:00  作者:mbsky  来源:未知 网友评论 0 条 论坛
  简介
这篇文章是给那些习惯于用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++难用?

>> 相关文章

关于网站 | 客服中心 | 服务条款 | 友情链接 | 广告联系 | 本站历程 | 网站导航

吉ICP备05000107号