共用方式為


CDataSource::Open

開啟要使用資料來源連線 CLSIDProgID,或CEnumerator moniker 或定位對話方塊以提示使用者。

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]A CEnumerator 物件,用來取得 moniker 的開啟連接,當呼叫端未指定 CLSID

  • hWnd
    [in]要在對話方塊的父視窗的控制代碼。使用的函式多載會使用hWnd參數都會自動叫用服務元件。 如需詳細資訊,請參閱 「 備註 」。

  • dwPromptOptions
    [in]決定定位方塊,以顯示的樣式。可能的值,請參閱 Msdasc.h。

傳回值

一種標準HRESULT

備註

使用此方法多載hWnd與 oledb32.dll ; 在服務元件參數會開啟 [資料來源物件 這個 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 中使用的服務元件。A CDataSource 這些函式多載使用開啟的物件將無法使用任何服務元件的功能。

範例

下列程式碼會示範如何使用 OLE DB 樣板開啟 Jet 4.0 的資料來源。您可以將 Jet 資料來源為 OLE DB 資料來源。不過,您對呼叫開啟 需要兩個屬性集: 一個用於 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 類別