CDataSource::Open
データ ソースへの接続を CLSID、 Prog ID(G),ProgID(I),ProgID,Progid、または CEnumerator モニカーを使用して開くか、ロケーターのダイアログ ボックスをユーザーに求めるメッセージが表示されます。
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 の構造体の配列へのポインター。Windows SDKOLE DB Programmer's Reference " の プロパティとプロパティ グループ を参照してください。nPropertySets
[in] pPropSet の 引数で渡される DBPROPSET の構造の数。pName
[in] 接続するデータベースの名前です。pUserName
[in] ユーザー名。pPassword
[in] ユーザーのパスワード。nInitMode
[in] データベースの初期化モード。有効な初期化モードの一覧については、 Windows SDKOLE DB Programmer's Reference " の 初期化プロパティを参照してください。nInitMode がゼロの場合、初期化モードは接続を開くために使用するプロパティ設定に含まれません。szProgID
[in] プログラムの ID。enumerator
[in] 呼び出し元が CLSIDを指定しない場合の接続を開くためのモニカーを取得するために使用されます CEnumerator のオブジェクト。hWnd
[in] ダイアログ ボックスの親であることであるウィンドウへのハンドル。使用する関数のオーバーロードを使用して hWnd パラメーターは自動的にサービス コンポーネントを呼び出します; 詳細については、 " 解説 " を参照してください。dwPromptOptions
[in] ロケーターのダイアログ ボックスのフォームを表示するように指定します。有効な値については、 Msdasc.h を参照してください。
戻り値
標準の HRESULT を返します。
解説
hWnd パラメーターを使用するメソッド オーバーロードは、 oledb32.dll のサービス コンポーネントを使用すると、データ ソースのオブジェクトを開く; この DLL はリソース プールなどのサービス コンポーネント機能の実装、自動トランザクションに参加などが含まれます。詳細については、 " OLE DB Programmer's Reference " の 「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 のデータ ソースを開く方法を示します。OLE DB データ ソースとして、 Jet のデータ ソースを処理します。ただし、 開く(&&O),開く,[開く] への呼び出しは 2 回のプロパティ設定が必要です: DBPROP_JETOLEDB_DATABASEPASSWORDを設定できるように、 DBPROPSET_DBINIT の 1 と DBPROPSET_JETOLEDB_DBINITの他の。
CDBPropSet rgDBPropSet[2]; // Declare two property sets;
// set properties elsewhere as appropriate.
hr = m_DataSource.Open(szProgId, rgDBPropSet, 2);
必要条件
ヘッダー: atldbcli.h