共用方式為


CDataSource::Open

使用 CLSIDProgIDCEnumerator 別名或有這些對話方塊的使用者提示開啟資料來源的連接。

HRESULT Open( 
   const CLSID& clsid, 
   DBPROPSET* pPropSet = NULL, 
   ULONG nPropertySets = 1  
) throw( ); 
HRESULT Open( 
   const CLSID& clsid, 
   LPCTSTR pName, 
   LPCTSTR pUserName = NULL, 
   LPCTSTR pPassword = NULL, 
   long nInitMode = 0  
) throw( ); 
HRESULT Open( 
   LPCTSTR szProgID, 
   DBPROPSET* pPropSet = NULL, 
   ULONG nPropertySets = 1  
) throw( ); 
HRESULT Open( 
   LPCTSTR szProgID, 
   LPCTSTR pName, 
   LPCTSTR pUserName = NULL, 
   LPCTSTR pPassword = NULL, 
   long nInitMode = 0  
) throw( ); 
HRESULT Open( 
   const CEnumerator& enumerator, 
   DBPROPSET* pPropSet = NULL, 
   ULONG nPropertySets = 1  
) throw( ); 
HRESULT Open( 
   const CEnumerator& enumerator, 
   LPCTSTR pName, 
   LPCTSTR pUserName = NULL, 
   LPCTSTR pPassword = NULL, 
   long nInitMode = 0  
) throw( ); 
HRESULT Open( 
   HWND hWnd = GetActiveWindow( ), 
   DBPROMPTOPTIONS dwPromptOptions = DBPROMPTOPTIONS_WIZARDSHEET  
) throw( ); 
HRESULT Open( 
   LPCWSTR szProgID, 
   DBPROPSET* pPropSet = NULL, 
   ULONG nPropertySets = 1 
) throw( ); 
HRESULT Open( 
   LPCSTR szProgID, 
   LPCTSTR pName, 
   LPCTSTR pUserName = NULL, 
   LPCTSTR pPassword = NULL, 
   long nInitMode = 0 
) throw( );

參數

  • clsid
    [in] 資料提供者的 CLSID

  • pPropSet
    [in] 物件陣列的指標包含屬性和值的 DBPROPSET 結構會設定。 請參閱 *《 OLE DB 程式設計人員參考》*的屬性集合和屬性群組 Windows SDK。

  • nPropertySets
    [in] DBPROPSET 結構數目pPropSet 引數傳遞的。

  • pName
    [in] 要連接的資料庫名稱。

  • pUserName
    [in] 使用者的名稱。

  • pPassword
    [in] 使用者的密碼。

  • nInitMode
    [in] 資料庫初始化方式。 參閱《 OLE DB 程式設計人員參考》的 Windows SDK 中的 初始化屬性 取得有效的初始化方式清單。 如果 nInitMode 是零,沒有初始化模式包含進用以開啟連接的屬性集合中。

  • szProgID
    [in] 程式識別項。

  • enumerator
    [in] 當呼叫端不指定 CLSID時用於取得開啟連線的別名之 CEnumerator 物件。

  • hWnd
    [in] 控制代碼是對話方塊的父視窗。 使用利用 hWnd 參數的函式多載將會自動叫用服務元件;請參閱 Remarks 以取得詳細資訊。

  • dwPromptOptions
    [in] 判斷定位器對話方塊樣式顯示。 如需可能的值請參閱 Msdasc.h。

傳回值

標準版 HRESULT

備註

這個方法會使用在 oledb32.dll 的服務元件多載使用hWnd 參數開啟資料來源物件;這個 DLL 包含服務元件功能的實作,例如資源共用,自動異動登記,依此類推。 如需詳細資訊,請參閱《OLE DB 程式設計人員參考》中的「OLE DB 服務」 https://msdn.microsoft.com/library/default.asp?url=/library/en-us/oledb/htm/oledbole_db_services.asp?frame=true

不使用 hWnd 參數的方法多載會開啟資料來源物件,而不需要使用在 oledb32.dll 的服務元件。 用這些函式多載開啟 CDataSource 物件無法套用任何一種服務元件的功能。

範例

下列程式碼示範如何開啟 OLE DB 樣板的 Jet 4.0 資料來源。 您將 Jet 資料來源做為 OLE DB 資料來源。 不過,您對 Open 的呼叫需要兩個屬性集合:一個 DBPROPSET_DBINIT 及另一個 DBPROPSET_JETOLEDB_DBINIT,因此您可以設定 DBPROP_JETOLEDB_DATABASEPASSWORD

CDBPropSet rgDBPropSet[2];  // Declare two property sets; 
                            // set properties elsewhere as appropriate.

hr = m_DataSource.Open(szProgId, rgDBPropSet, 2);

需求

標題: atldbcli.h

請參閱

參考

CDataSource 類別