CDataSource::Open
Aprire una connessione a un'origine dati tramite CLSID, di ProgID, o del moniker di CEnumerator o richiede all'utente una finestra di dialogo locator.
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( );
Parametri
clsid
[in] CLSID provider di dati.pPropSet
[in] puntatore A una matrice di strutture che contengono DBPROPSET proprietà e valori da impostare. Vedere Insiemi di proprietà e gruppi di proprietàin OLE DB Programmer's Reference in Windows SDK.nPropertySets
[in] numero di strutture di DBPROPSET passate nell'argomento di pPropSet.pName
[in] nome del database a cui connettersi.pUserName
[in] nome dell'utente.pPassword
[in] la password dell'utente.nInitMode
[in] modalità di inizializzazione del database. Vedere Proprietà di inizializzazionein OLE DB Programmer's Reference in Windows SDK per un elenco di metodi di inizializzazione valide. Se nInitMode è zero, nessuna operazione è inclusa nell'insieme di proprietà utilizzato per aprire la connessione.szProgID
[in] identificatore di programma A.enumerator
[in] oggetto A CEnumerator utilizzato per ottenere un moniker per aprire la connessione quando il chiamante non specifica CLSID.hWnd
[in] handle alla finestra che debba essere il padre della finestra di dialogo. Utilizzando l'overload della funzione che utilizza il parametro di hWnd richiamerà automaticamente i componenti di servizio; vedere la sezione note per informazioni dettagliate.dwPromptOptions
[in] determina lo stile della finestra di dialogo locator da visualizzare. Vedere Msdasc.h per i valori possibili.
Valore restituito
HRESULTstandard.
Note
L'overload del metodo che utilizza il parametro di hWnd apre un oggetto origine dati con i componenti del servizio in oledb32.dll; questa DLL contiene l'implementazione delle funzionalità dei componenti del servizio come pool di risorse, l'integrazione automatica delle transazioni, e così via. Per ulteriori informazioni, vedere "servizi OLE DB" in OLE DB Programmer's Reference https://msdn.microsoft.com/library/default.asp?url=/library/en-us/oledb/htm/oledbole_db_services.asp?frame=true.
Gli overload del metodo che non utilizzano il parametro di hWnd aprono un oggetto origine dati senza utilizzare i componenti del servizio in oledb32.dll. Un oggetto di CDataSource apri con questi overload della funzione vuole non è possibile utilizzare qualsiasi della funzionalità dei componenti del servizio.
Esempio
Nel codice seguente viene illustrato come aprire un'origine dati di Jet 4,0 con i modelli OLE DB. Considerate l'origine dati di Jet come origine dati OLE DB. Tuttavia, la chiamata a Apri deve disporre di due insiemi di proprietà: uno per DBPROPSET_DBINIT e l'altro per DBPROPSET_JETOLEDB_DBINIT, in modo che è possibile impostare DBPROP_JETOLEDB_DATABASEPASSWORD.
CDBPropSet rgDBPropSet[2]; // Declare two property sets;
// set properties elsewhere as appropriate.
hr = m_DataSource.Open(szProgId, rgDBPropSet, 2);
Requisiti
Intestazione: atldbcli.h