Compartir a través de


Clase CDataConnection

Administra la conexión con el origen de datos.

Sintaxis

class CDataConnection

Requisitos

Encabezado: atldbcli.h

Miembros

Métodos

Nombre Descripción
CDataConnection::CDataConnection Constructor. Crea instancias e inicializa un objeto CDataConnection.
CDataConnection::Copy Crea una copia de una conexión de datos existente.
CDataConnection::Open Abre una conexión a un origen de datos mediante una cadena de inicialización.
CDataConnection::OpenNewSession Abre una nueva sesión en la conexión actual.

Operadores

Nombre Descripción
CDataConnection::operator BOOL Determina si la sesión actual está abierta o no.
CDataConnection::operator bool Determina si la sesión actual está abierta o no.
CDataConnection::operator CDataSource& Devuelve una referencia al objeto CDataSource actualizado.
CDataConnection::operator CDataSource* Devuelve un puntero al objeto CDataSource contenido.
CDataConnection::operator CSession& Devuelve una referencia al objeto CSession actualizado.
CDataConnection::operator CSession* Devuelve un puntero al objeto CSession contenido.

Comentarios

CDataConnection es una clase útil para crear clientes porque encapsula los objetos necesarios (origen de datos y sesión) y parte del trabajo que debe realizar al conectarse a un origen de datos.

Sin CDataConnection, debe crear un objeto CDataSource, llamar a su método OpenFromInitializationString y, a continuación, crear una instancia de un objeto CSession, llamar a su método Open y, a continuación, crear un objeto CCommand y llamar a sus métodos Open*.

Con CDataConnection, solo necesita crear un objeto de conexión, pasarlo una cadena de inicialización y, a continuación, usar esa conexión para abrir comandos. Si planea usar la conexión a la base de datos repetidamente, es una buena idea mantener abierta la conexión y CDataConnection proporciona una manera cómoda de hacerlo.

Nota:

Si va a crear una aplicación de base de datos que necesite controlar varias sesiones, deberá usar OpenNewSession.

CDataConnection::CDataConnection

Crea instancias e inicializa un objeto CDataConnection.

Sintaxis

CDataConnection();
CDataConnection(const CDataConnection &ds);

Parámetros

ds
[in] Referencia a una conexión de datos existente.

Comentarios

La primera invalidación crea un nuevo objeto CDataConnection con la configuración predeterminada.

La segunda invalidación crea un nuevo objeto CDataConnection con valores equivalentes al objeto de conexión de datos que especifique.

CDataConnection::Copy

Crea una copia de una conexión de datos existente.

Sintaxis

CDataConnection& Copy(const CDataConnection & ds) throw();

Parámetros

ds
[in] Referencia a una conexión de datos existente que se va a copiar.

CDataConnection::Open

Abre una conexión a un origen de datos mediante una cadena de inicialización.

Sintaxis

HRESULT Open(LPCOLESTR szInitString) throw();

Parámetros

szInitString
[in] Cadena de inicialización para el origen de datos.

Valor devuelto

Un HRESULT estándar.

CDataConnection::OpenNewSession

Abre una nueva sesión mediante el origen de datos del objeto de conexión actual.

Sintaxis

HRESULT OpenNewSession(CSession & session) throw();

Parámetros

session
[in/out] Referencia al nuevo objeto de sesión.

Comentarios

La nueva sesión usa el objeto de origen de datos contenido del objeto de conexión actual como su elemento primario y puede tener acceso a toda la misma información que el origen de datos.

Valor devuelto

Un HRESULT estándar.

CDataConnection::operator BOOL

Determina si la sesión actual está abierta o no.

Sintaxis

operator BOOL() throw();

Comentarios

Devuelve el valor BOOL (definición de tipo MFC). TRUE significa que la sesión actual está abierta; FALSE significa que la sesión actual está cerrada.

CDataConnection::operator bool (OLE DB)

Determina si la sesión actual está abierta o no.

Sintaxis

operator bool() throw();

Comentarios

Devuelve un valor bool (tipo de datos de C++). true significa que la sesión actual está abierta; false significa que la sesión actual está cerrada.

CDataConnection::operator CDataSource&

Devuelve una referencia al objeto CDataSource actualizado.

Sintaxis

operator const CDataSource&() throw();

Comentarios

Este operador devuelve una referencia al objeto contenido CDataSource, lo que le permite pasar un objeto CDataConnection donde se espera una referencia CDataSource.

Ejemplo

Si tiene una función (por ejemplo, func a continuación) que toma una referencia CDataSource, puede usar CDataSource& para pasar un objeto CDataConnection en su lugar.

void SourceFunc(const CDataSource& theSource)
{
   CComVariant var;
   theSource.GetProperty(DBPROPSET_DATASOURCEINFO, DBPROP_DATASOURCENAME, &var);
}

 

CDataConnection dc;
dc.Open(szInit);
SourceFunc(dc);

CDataConnection::operator CDataSource*

Devuelve un puntero al objeto CDataSource contenido.

Sintaxis

operator const CDataSource*() throw();

Comentarios

Este operador devuelve un puntero al objeto contenido CDataSource, lo que le permite pasar un objeto CDataConnection donde se espera un puntero CDataSource.

Consulte operator CDataSource& para obtener un ejemplo de uso.

CDataConnection::operator CSession&

Devuelve una referencia al objeto CSession actualizado.

Sintaxis

operator const CSession&();

Comentarios

Este operador devuelve una referencia al objeto contenido CSession, lo que le permite pasar un objeto CDataConnection donde se espera una referencia CSession.

Ejemplo

Si tiene una función (por ejemplo, func a continuación) que toma una referencia CSession, puede usar CSession& para pasar un objeto CDataConnection en su lugar.

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*

Devuelve un puntero al objeto CSession contenido.

Sintaxis

operator const CSession*() throw();

Comentarios

Este operador devuelve un puntero al objeto contenido CSession, lo que le permite pasar un objeto CDataConnection donde se espera un puntero CSession.

Ejemplo

Consulte operator CSession& para obtener un ejemplo de uso.

Consulte también

Plantillas de consumidor OLE DB
Referencia de plantillas de consumidor de OLE DB