Classe CDataConnection
Gère la connexion avec la source de données.
Syntaxe
class CDataConnection
Spécifications
En-tête : atldbcli.h
Membres
Méthodes
Nom | Description |
---|---|
CDataConnection::CDataConnection |
Constructeur. Instancie et initialise un CDataConnection objet. |
CDataConnection::Copy |
Crée une copie d’une connexion de données existante. |
CDataConnection::Open |
Ouvre une connexion à une source de données à l’aide d’une chaîne d’initialisation. |
CDataConnection::OpenNewSession |
Ouvre une nouvelle session sur la connexion actuelle. |
Opérateurs
Nom | Description |
---|---|
CDataConnection::operator BOOL |
Détermine si la session active est ouverte ou non. |
CDataConnection::operator bool |
Détermine si la session active est ouverte ou non. |
CDataConnection::operator CDataSource& |
Retourne une référence à l’objet contenu CDataSource . |
CDataConnection::operator CDataSource* |
Retourne un pointeur vers l’objet contenu CDataSource . |
CDataConnection::operator CSession& |
Retourne une référence à l’objet contenu CSession . |
CDataConnection::operator CSession* |
Retourne un pointeur vers l’objet contenu CSession . |
Notes
CDataConnection
est une classe utile pour créer des clients, car elle encapsule les objets nécessaires (source de données et session) et certaines tâches que vous devez effectuer lors de la connexion à une source de données
Sans CDataConnection
, vous devez créer un CDataSource
objet, appeler sa OpenFromInitializationString
méthode, puis créer une instance d’un CSession
objet, appeler sa Open
méthode, puis créer un CCommand
objet et appeler ses Open
méthodes *.
Avec CDataConnection
, vous devez uniquement créer un objet de connexion, le transmettre à une chaîne d’initialisation, puis utiliser cette connexion pour ouvrir des commandes. Si vous envisagez d’utiliser votre connexion à la base de données à plusieurs reprises, il est judicieux de garder la connexion ouverte et CDataConnection
fournit un moyen pratique de le faire.
Remarque
Si vous créez une application de base de données qui doit gérer plusieurs sessions, vous devez utiliser OpenNewSession
.
CDataConnection::CDataConnection
Instancie et initialise un CDataConnection
objet.
Syntaxe
CDataConnection();
CDataConnection(const CDataConnection &ds);
Paramètres
ds
[in] Référence à une connexion de données existante.
Notes
Le premier remplacement crée un CDataConnection
objet avec les paramètres par défaut.
Le deuxième remplacement crée un CDataConnection
objet avec des paramètres équivalents à l’objet de connexion de données que vous spécifiez.
CDataConnection::Copy
Crée une copie d’une connexion de données existante.
Syntaxe
CDataConnection& Copy(const CDataConnection & ds) throw();
Paramètres
ds
[in] Référence à une connexion de données existante à copier.
CDataConnection::Open
Ouvre une connexion à une source de données à l’aide d’une chaîne d’initialisation.
Syntaxe
HRESULT Open(LPCOLESTR szInitString) throw();
Paramètres
szInitString
[in] Chaîne d’initialisation pour la source de données.
Valeur retournée
Une norme HRESULT
.
CDataConnection::OpenNewSession
Ouvre une nouvelle session à l’aide de la source de données de l’objet de connexion actuel.
Syntaxe
HRESULT OpenNewSession(CSession & session) throw();
Paramètres
session
[in/out] Référence au nouvel objet de session.
Notes
La nouvelle session utilise l’objet source de données contenu de l’objet de connexion actuel comme parent et peut accéder à toutes les mêmes informations que la source de données.
Valeur retournée
Une norme HRESULT
.
CDataConnection::operator BOOL
Détermine si la session active est ouverte ou non.
Syntaxe
operator BOOL() throw();
Notes
Renvoie BOOL
la valeur (typedef MFC). TRUE
signifie que la session active est ouverte ; FALSE
signifie que la session active est fermée.
CDataConnection::operator bool
(OLE DB)
Détermine si la session active est ouverte ou non.
Syntaxe
operator bool() throw();
Notes
Retourne une bool
valeur (type de données C++). true
signifie que la session active est ouverte ; false
signifie que la session active est fermée.
CDataConnection::operator CDataSource&
Retourne une référence à l’objet contenu CDataSource
.
Syntaxe
operator const CDataSource&() throw();
Notes
Cet opérateur retourne une référence à l’objet contenu CDataSource
, ce qui vous permet de passer un CDataConnection
objet où une CDataSource
référence est attendue.
Exemple
Si vous avez une fonction (par exemple func
, ci-dessous) qui prend une CDataSource
référence, vous pouvez utiliser CDataSource&
pour passer un CDataConnection
objet à la place.
void SourceFunc(const CDataSource& theSource)
{
CComVariant var;
theSource.GetProperty(DBPROPSET_DATASOURCEINFO, DBPROP_DATASOURCENAME, &var);
}
CDataConnection dc;
dc.Open(szInit);
SourceFunc(dc);
CDataConnection::operator CDataSource*
Retourne un pointeur vers l’objet contenu CDataSource
.
Syntaxe
operator const CDataSource*() throw();
Notes
Cet opérateur retourne un pointeur vers l’objet contenu CDataSource
, ce qui vous permet de passer un CDataConnection
objet où un CDataSource
pointeur est attendu.
Consultez operator CDataSource&
un exemple d’utilisation.
CDataConnection::operator CSession&
Retourne une référence à l’objet contenu CSession
.
Syntaxe
operator const CSession&();
Notes
Cet opérateur retourne une référence à l’objet contenu CSession
, ce qui vous permet de passer un CDataConnection
objet où une CSession
référence est attendue.
Exemple
Si vous avez une fonction (par exemple func
, ci-dessous) qui prend une CSession
référence, vous pouvez utiliser CSession&
pour passer un CDataConnection
objet à la place.
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*
Retourne un pointeur vers l’objet contenu CSession
.
Syntaxe
operator const CSession*() throw();
Notes
Cet opérateur retourne un pointeur vers l’objet contenu CSession
, ce qui vous permet de passer un CDataConnection
objet où un CSession
pointeur est attendu.
Exemple
Consultez operator CSession&
un exemple d’utilisation.
Voir aussi
Modèles de consommateur OLE DB
Informations de référence sur les modèles de consommateur OLE DB