CDataSource::Open
開啟要使用資料來源連線 CLSID, ProgID,或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