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 Openmetodi *.

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