程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP技巧 >> 如何在VC++ 編寫的組件中使用 ADO

如何在VC++ 編寫的組件中使用 ADO

編輯:ASP技巧

如何在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++難用?

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved