Clase CDataConnection
Administra la conexión con el origen de datos.
class CDataConnection
Encabezado: atldbcli.h
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. |
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. |
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
.
Crea instancias e inicializa un objeto CDataConnection
.
CDataConnection();
CDataConnection(const CDataConnection &ds);
ds
[in] Referencia a una conexión de datos existente.
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.
Crea una copia de una conexión de datos existente.
CDataConnection& Copy(const CDataConnection & ds) throw();
ds
[in] Referencia a una conexión de datos existente que se va a copiar.
Abre una conexión a un origen de datos mediante una cadena de inicialización.
HRESULT Open(LPCOLESTR szInitString) throw();
szInitString
[in] Cadena de inicialización para el origen de datos.
Un HRESULT
estándar.
Abre una nueva sesión mediante el origen de datos del objeto de conexión actual.
HRESULT OpenNewSession(CSession & session) throw();
session
[in/out] Referencia al nuevo objeto de sesión.
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.
Un HRESULT
estándar.
Determina si la sesión actual está abierta o no.
operator BOOL() throw();
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.
Determina si la sesión actual está abierta o no.
operator bool() throw();
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.
Devuelve una referencia al objeto CDataSource
actualizado.
operator const CDataSource&() throw();
Este operador devuelve una referencia al objeto contenido CDataSource
, lo que le permite pasar un objeto CDataConnection
donde se espera una referencia CDataSource
.
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);
Devuelve un puntero al objeto CDataSource
contenido.
operator const CDataSource*() throw();
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.
Devuelve una referencia al objeto CSession
actualizado.
operator const CSession&();
Este operador devuelve una referencia al objeto contenido CSession
, lo que le permite pasar un objeto CDataConnection
donde se espera una referencia CSession
.
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);
Devuelve un puntero al objeto CSession
contenido.
operator const CSession*() throw();
Este operador devuelve un puntero al objeto contenido CSession
, lo que le permite pasar un objeto CDataConnection
donde se espera un puntero CSession
.
Consulte operator CSession&
para obtener un ejemplo de uso.
Plantillas de consumidor OLE DB
Referencia de plantillas de consumidor de OLE DB