Classe CDataConnection
Gestisce la connessione con l'origine dati.
Sintassi
class CDataConnection
Requisiti
Intestazione: atldbcli.h
Membri
Metodi
Nome | Descrizione |
---|---|
CDataConnection::CDataConnection |
Costruttore. Crea un'istanza e inizializza un CDataConnection oggetto . |
CDataConnection::Copy |
Crea una copia di una connessione dati esistente. |
CDataConnection::Open |
Apre una connessione a un'origine dati utilizzando una stringa di inizializzazione. |
CDataConnection::OpenNewSession |
Apre una nuova sessione nella connessione corrente. |
Operatori
Nome | Descrizione |
---|---|
CDataConnection::operator BOOL |
Determina se la sessione corrente è aperta o meno. |
CDataConnection::operator bool |
Determina se la sessione corrente è aperta o meno. |
CDataConnection::operator CDataSource& |
Restituisce un riferimento all'oggetto contenuto CDataSource . |
CDataConnection::operator CDataSource* |
Restituisce un puntatore all'oggetto CDataSource contenuto. |
CDataConnection::operator CSession& |
Restituisce un riferimento all'oggetto contenuto CSession . |
CDataConnection::operator CSession* |
Restituisce un puntatore all'oggetto CSession contenuto. |
Osservazioni:
CDataConnection
è una classe utile per la creazione di client perché incapsula gli oggetti necessari (origine dati e sessione) e alcune delle operazioni da eseguire durante la connessione a un'origine dati
Senza CDataConnection
, è necessario creare un CDataSource
oggetto, chiamare il OpenFromInitializationString
relativo metodo, quindi creare un'istanza di un CSession
oggetto, chiamare il relativo Open
metodo, quindi creare un CCommand
oggetto e chiamare i relativi Open
metodi *.
Con CDataConnection
, è sufficiente creare un oggetto connessione, passarlo una stringa di inizializzazione, quindi usare tale connessione per aprire i comandi. Se si prevede di usare ripetutamente la connessione al database, è consigliabile mantenere aperta la connessione e CDataConnection
offre un modo pratico per farlo.
Nota
Se si sta creando un'applicazione di database che deve gestire più sessioni, sarà necessario usare OpenNewSession
.
CDataConnection::CDataConnection
Crea un'istanza e inizializza un CDataConnection
oggetto .
Sintassi
CDataConnection();
CDataConnection(const CDataConnection &ds);
Parametri
ds
[in] Riferimento a una connessione dati esistente.
Osservazioni:
Il primo override crea un nuovo CDataConnection
oggetto con le impostazioni predefinite.
Il secondo override crea un nuovo CDataConnection
oggetto con impostazioni equivalenti all'oggetto connessione dati specificato.
CDataConnection::Copy
Crea una copia di una connessione dati esistente.
Sintassi
CDataConnection& Copy(const CDataConnection & ds) throw();
Parametri
ds
[in] Riferimento a una connessione dati esistente da copiare.
CDataConnection::Open
Apre una connessione a un'origine dati utilizzando una stringa di inizializzazione.
Sintassi
HRESULT Open(LPCOLESTR szInitString) throw();
Parametri
szInitString
[in] Stringa di inizializzazione per l'origine dati.
Valore restituito
Oggetto standard HRESULT
.
CDataConnection::OpenNewSession
Apre una nuova sessione utilizzando l'origine dati dell'oggetto connessione corrente.
Sintassi
HRESULT OpenNewSession(CSession & session) throw();
Parametri
session
[in/out] Riferimento al nuovo oggetto sessione.
Osservazioni:
La nuova sessione usa l'oggetto origine dati contenuto dell'oggetto connessione corrente come padre e può accedere a tutte le stesse informazioni dell'origine dati.
Valore restituito
Oggetto standard HRESULT
.
CDataConnection::operator BOOL
Determina se la sessione corrente è aperta o meno.
Sintassi
operator BOOL() throw();
Osservazioni:
Restituisce BOOL
il valore typedef (MFC). TRUE
indica che la sessione corrente è aperta; FALSE
indica che la sessione corrente è chiusa.
CDataConnection::operator bool
(OLE DB)
Determina se la sessione corrente è aperta o meno.
Sintassi
operator bool() throw();
Osservazioni:
Restituisce un bool
valore (tipo di dati C++). true
indica che la sessione corrente è aperta; false
indica che la sessione corrente è chiusa.
CDataConnection::operator CDataSource&
Restituisce un riferimento all'oggetto contenuto CDataSource
.
Sintassi
operator const CDataSource&() throw();
Osservazioni:
Questo operatore restituisce un riferimento all'oggetto contenuto CDataSource
, consentendo di passare un CDataConnection
oggetto in cui è previsto un CDataSource
riferimento.
Esempio
Se si dispone di una funzione (ad esempio func
di seguito) che accetta un CDataSource
riferimento, è possibile usare CDataSource&
invece per passare un CDataConnection
oggetto.
void SourceFunc(const CDataSource& theSource)
{
CComVariant var;
theSource.GetProperty(DBPROPSET_DATASOURCEINFO, DBPROP_DATASOURCENAME, &var);
}
CDataConnection dc;
dc.Open(szInit);
SourceFunc(dc);
CDataConnection::operator CDataSource*
Restituisce un puntatore all'oggetto CDataSource
contenuto.
Sintassi
operator const CDataSource*() throw();
Osservazioni:
Questo operatore restituisce un puntatore all'oggetto CDataSource
contenuto, consentendo di passare un oggetto CDataConnection
dove è previsto un puntatore CDataSource
.
Vedere operator CDataSource&
per un esempio di utilizzo.
CDataConnection::operator CSession&
Restituisce un riferimento all'oggetto contenuto CSession
.
Sintassi
operator const CSession&();
Osservazioni:
Questo operatore restituisce un riferimento all'oggetto contenuto CSession
, consentendo di passare un CDataConnection
oggetto in cui è previsto un CSession
riferimento.
Esempio
Se si dispone di una funzione (ad esempio func
di seguito) che accetta un CSession
riferimento, è possibile usare CSession&
invece per passare un CDataConnection
oggetto.
void SessionFunc(const CSession& theSession)
{
XACTTRANSINFO info = {0};
HRESULT hr = theSession.GetTransactionInfo(&info);
wprintf_s(_T("GetTransactionInfo returned %x\n"), hr);
}
CDataConnection dc;
dc.Open(szInit);
SessionFunc(dc);
CDataConnection::operator CSession*
Restituisce un puntatore all'oggetto CSession
contenuto.
Sintassi
operator const CSession*() throw();
Osservazioni:
Questo operatore restituisce un puntatore all'oggetto CSession
contenuto, consentendo di passare un oggetto CDataConnection
dove è previsto un puntatore CSession
.
Esempio
Vedere operator CSession&
per un esempio di utilizzo.
Vedi anche
Modelli di consumer OLE DB
Informazioni di riferimento per i modelli di consumer OLE DB