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