如何在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++难用?
讨饭猫翻译
jan.14 2001
