WEB开发网
开发学院WEB开发ASP 如何在VC++ 编写的组件中使用 ADO 阅读

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

 2001-03-25 10:18:15 来源:WEB开发网   
核心提示:如何在VC++ 编写的组件中使用 ADO简介这篇文章是给那些习惯于用VB开发组件的人想转用VC++时看的,本文用一个简单的例子示范如何使用ADO Recordset 对象,如何在VC++ 编写的组件中使用 ADO,在VB中,当你想要返回一个ADO Recordset,选择 Add Method,Method Name:
如何在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++难用?

Tags:如何 VC 编写

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接