Share via


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.

Retornar valor

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.

Retornar valor

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