CDatabase::em aberto
telefonar Essa função de membro para inicializar um recém-criada CDatabase objeto.
virtual BOOL Open(
LPCTSTR lpszDSN,
BOOL bExclusive = FALSE,
BOOL bReadOnly = FALSE,
LPCTSTR lpszConnect = _T("ODBC;"),
BOOL bUseCursorLib = TRUE
);
Parâmetros
lpszDSN
Especifica um nome de fonte de dados — um nome registrado com ODBC através do programa Administrador ODBC.Se for especificado um valor DSN em lpszConnect(no formulário "DSN = <dados-fonte>"), ele não deve ser especificado novamente em lpszDSN. Nesse caso, lpszDSN deve ser NULO.Caso contrário, você pode passar NULO se desejar apresentar ao usuário uma caixa de diálogo fonte de dados em que o usuário pode selecionar uma fonte de dados.Para obter mais informações, consulte comentários.bExclusive
Não suportados nesta versão do classe biblioteca.Atualmente, uma declaração falha se esse parâmetro for TRUE.A fonte de dados é aberta sempre sistema autônomo compartilhadas (não exclusivo).bReadOnly
TRUE se pretender que a conexão seja somente leitura e para impedir atualizações para a fonte de dados.Todos os conjuntos de registros dependentes herdam esse atributo.O valor padrão é FALSE.lpszConnect
Especifica um cadeia de conexão.O cadeia de conexão concatena informações, incluindo possivelmente um nome de fonte de dados, uma ID de usuário válido na fonte de dados, uma seqüência de autenticação de usuário (senha, se a fonte de dados requer um) e outras informações.Todo cadeia de conexão devem ser precedidos pela seqüência "ODBC;" (maiúsculas ou em minúsculas)."ODBC;" cadeia de caracteres é usada para indicar que a conexão é com uma fonte de dados ODBC; este é para fins de compatibilidade para cima quando versões futuras da biblioteca de classes podem oferecer suporte a fontes de dados não-ODBC.bUseCursorLib
TRUE se desejar que a DLL da biblioteca do ODBC cursor a ser carregado.O biblioteca de cursores mascara algumas funcionalidades do driver ODBC subjacente, efetivamente evitar o uso de dynasets (se o driver oferecer suporte a eles).A única cursor s suportada se o cursor carregar biblioteca são instantâneos estático e somente de encaminhar cursor s.O valor padrão é TRUE.Se você planeja criar um objeto de conjunto de registros diretamente de CRecordset sem derivar dela, você não deve carregar a biblioteca de cursores.
Valor de retorno
Diferente de zero se a conexão é feita com êxito; caso contrário, 0 se o usuário optar por cancelar quando apresentada uma caixa de diálogo pedindo para obter mais informações sobre a conexão.Em outros casos, o estrutura lança uma exceção.
Comentários
Seu objeto de banco de dados deve ser inicializado antes de usá-lo para construir um objeto conjunto de registros.
Observação: |
---|
Chamando o OpenExfunção de membro é a maneira preferida para se conectar a uma fonte de dados e inicializar seu objeto de banco de dados. |
Se os parâmetros no seu em aberto telefonar não contêm informações suficientes para fazer a conexão, o driver ODBC abre uma caixa de diálogo para obter as informações necessárias do usuário.Quando você chama em aberto, sua seqüência de caracteres de conexão, lpszConnect, é armazenado em particular na CDatabase objeto e está disponível, chamando o GetConnectfunção de membro .
Se desejar, você poderá em aberto sua própria caixa de diálogo antes de você telefonar em aberto para obter informações do usuário, sistema autônomo uma senha, em seguida, adicionar essas informações à cadeia de conexão que você passar para em aberto.Ou talvez você queira salvar a cadeia de conexão que você passar para que você pode reutilizá-la na próxima vez em que o aplicativo chama em aberto on a CDatabase objeto.
Você também pode usar a seqüência de caracteres de conexão de vários níveis de autorização de login (cada um diferentes CDatabase objeto) ou para transmitir outras informações específicas do fonte de dados. Para obter mais informações sobre seqüências de caracteres de conexão, consulte o capítulo 5 no Windows SDK.
É possível que uma tentativa de conexão para o time limite, por exemplo, se o DBMS host não disponível.Se a tentativa de conexão falhar, em aberto throws a CDBException.
Exemplo
// m_dbCust is a CDatabase object embedded in a CDocument class
if (bDefault)
{
// Connect the object to a data source (no password)
// the ODBC connection dialog box will always remain hidden
m_dbCust.Open(_T("MFC_ODBCTest"), FALSE, FALSE, _T("ODBC;UID=JOES"));
}
else
{
// ...Or, query the user for all connection information
m_dbCust.Open(NULL);
}
Requisitos
Cabeçalho: afxdb.h