Classe CDataConnection
Gerencia a conexão com a fonte de dados.
Sintaxe
class CDataConnection
Requisitos
Cabeçalho: atldbcli.h
Membros
Métodos
Nome | Descrição |
---|---|
CDataConnection::CDataConnection |
Construtor. Instancia e inicializa um objeto CDataConnection . |
CDataConnection::Copy |
Cria uma cópia de uma conexão de dados existente. |
CDataConnection::Open |
Abre uma conexão com uma fonte de dados usando uma cadeia de caracteres de inicialização. |
CDataConnection::OpenNewSession |
Abre uma nova sessão na conexão atual. |
Operadores
Nome | Descrição |
---|---|
CDataConnection::operator BOOL |
Determina se a sessão atual está aberta ou não. |
CDataConnection::operator bool |
Determina se a sessão atual está aberta ou não. |
CDataConnection::operator CDataSource& |
Retorna uma referência ao objeto CDataSource contido. |
CDataConnection::operator CDataSource* |
Retorna um ponteiro para o objeto CDataSource contido. |
CDataConnection::operator CSession& |
Retorna uma referência ao objeto CSession contido. |
CDataConnection::operator CSession* |
Retorna um ponteiro para o objeto CSession contido. |
Comentários
CDataConnection
é uma classe útil para criar clientes porque encapsula objetos necessários (fonte de dados e sessão) e parte do trabalho que você precisa fazer ao se conectar a uma fonte de dados
Sem CDataConnection
, você precisa criar um objeto CDataSource
, chamar o respectivo método OpenFromInitializationString
, criar uma instância de um objeto CSession
, chamar o respectivo método Open
e, em seguida, criar um objeto CCommand
e chamar os respectivos métodos Open
*.
Com CDataConnection
, você só precisa criar um objeto de conexão, passar uma cadeia de caracteres de inicialização e, em seguida, usar essa conexão para abrir comandos. Se você planeja usar sua conexão com o banco de dados repetidamente, é uma boa ideia manter a conexão aberta. CDataConnection
fornece uma maneira prática de fazer isso.
Observação
Se você estiver criando um aplicativo de banco de dados que precisa lidar com várias sessões, precisará usar OpenNewSession
.
CDataConnection::CDataConnection
Instancia e inicializa um objeto CDataConnection
.
Sintaxe
CDataConnection();
CDataConnection(const CDataConnection &ds);
Parâmetros
ds
[entrada] Uma referência a uma conexão de dados existente.
Comentários
A primeira substituição cria um objeto CDataConnection
com configurações padrão.
A segunda substituição cria um objeto CDataConnection
com configurações equivalentes ao objeto de conexão de dados especificado.
CDataConnection::Copy
Cria uma cópia de uma conexão de dados existente.
Sintaxe
CDataConnection& Copy(const CDataConnection & ds) throw();
Parâmetros
ds
[entrada] Uma referência a uma conexão de dados existente a ser copiada.
CDataConnection::Open
Abre uma conexão com uma fonte de dados usando uma cadeia de caracteres de inicialização.
Sintaxe
HRESULT Open(LPCOLESTR szInitString) throw();
Parâmetros
szInitString
[entrada] A cadeia de caracteres de inicialização para a fonte de dados.
Valor retornado
Um HRESULT
padrão.
CDataConnection::OpenNewSession
Abre uma nova sessão usando a fonte de dados do objeto de conexão atual.
Sintaxe
HRESULT OpenNewSession(CSession & session) throw();
Parâmetros
session
[entrada/saída] Uma referência ao novo objeto de sessão.
Comentários
A nova sessão usa o objeto de fonte de dados independente do objeto de conexão atual como seu pai e pode acessar todas as mesmas informações que a fonte de dados.
Valor retornado
Um HRESULT
padrão.
CDataConnection::operator BOOL
Determina se a sessão atual está aberta ou não.
Sintaxe
operator BOOL() throw();
Comentários
Retorna o valor BOOL
(typedef do MFC). TRUE
significa que a sessão atual está aberta; FALSE
significa que a sessão atual está fechada.
CDataConnection::operator bool
(OLE DB)
Determina se a sessão atual está aberta ou não.
Sintaxe
operator bool() throw();
Comentários
Retorna um valor bool
(tipo de dados C++). true
significa que a sessão atual está aberta; false
significa que a sessão atual está fechada.
CDataConnection::operator CDataSource&
Retorna uma referência ao objeto CDataSource
contido.
Sintaxe
operator const CDataSource&() throw();
Comentários
Esse operador retorna uma referência ao objeto contido CDataSource
, permitindo que você passe um objeto CDataConnection
em que uma referência CDataSource
é esperada.
Exemplo
Se você tiver uma função (como func
, mostrada abaixo) que usa uma referência CDataSource
, poderá usar CDataSource&
para passar um objeto CDataConnection
em vez disso.
void SourceFunc(const CDataSource& theSource)
{
CComVariant var;
theSource.GetProperty(DBPROPSET_DATASOURCEINFO, DBPROP_DATASOURCENAME, &var);
}
CDataConnection dc;
dc.Open(szInit);
SourceFunc(dc);
CDataConnection::operator CDataSource*
Retorna um ponteiro para o objeto CDataSource
contido.
Sintaxe
operator const CDataSource*() throw();
Comentários
Esse operador retorna um ponteiro ao objeto contido CDataSource
, permitindo que você passe um objeto CDataConnection
em que um ponteiro CDataSource
é esperado.
Confira operator CDataSource&
para obter um exemplo de uso.
CDataConnection::operator CSession&
Retorna uma referência ao objeto CSession
contido.
Sintaxe
operator const CSession&();
Comentários
Esse operador retorna uma referência ao objeto contido CSession
, permitindo que você passe um objeto CDataConnection
em que uma referência CSession
é esperada.
Exemplo
Se você tiver uma função (como func
, mostrada abaixo) que usa uma referência CSession
, poderá usar CSession&
para passar um objeto CDataConnection
em vez disso.
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*
Retorna um ponteiro para o objeto CSession
contido.
Sintaxe
operator const CSession*() throw();
Comentários
Esse operador retorna um ponteiro ao objeto contido CSession
, permitindo que você passe um objeto CDataConnection
em que um ponteiro CSession
é esperado.
Exemplo
Confira operator CSession&
para obter um exemplo de uso.
Confira também
Modelos de consumidor OLE DB
Referência de modelos de consumidor OLE DB