CDatabase::OpenEx
telefonar Essa função de membro para inicializar um recém-criada CDatabase objeto.
virtual BOOL OpenEx(
LPCTSTR lpszConnectString,
DWORD dwOptions = 0
);
Parâmetros
lpszConnectString
Especifica uma cadeia de conexão ODBC.Isso inclui a fonte de dados, bem sistema autônomo nome Outros informações opcionais, sistema autônomo uma ID de usuário e senha.Por exemplo, "DSN = SQLServer_Source; UID = SA; PWD = abc123" é um possível cadeia de conexão.Observe que, se você passar NULO for lpszConnectString, uma caixa de diálogo Data Source solicitará ao usuário selecionar uma fonte de dados.dwOptions
Uma máscara de bits que especifica uma combinação dos seguintes valores.O valor padrão é 0, que significa que o banco de dados será aberto sistema autônomo compartilhado com acesso de gravar, a ODBC biblioteca de cursores DLL não será carregada e exibirá a caixa de diálogo de conexão ODBC somente se não houver informações suficientes para fazer a conexão.CDatabase::openExclusive Não suporte nesta versão da biblioteca de classes.Uma fonte de dados é aberta sempre sistema autônomo compartilhadas (não exclusivo).Atualmente, uma declaração falha se você especificar esta opção.
CDatabase::openReadOnly Abra a fonte de dados sistema autônomo somente leitura.
CDatabase::useCursorLib Carregar a ODBC biblioteca de cursores DLL.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.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.
CDatabase::noOdbcDialog Não exibem a caixa de diálogo de conexão ODBC, independentemente de se suficientes informações de conexão são fornecidas.
CDatabase::forceOdbcDialog Sempre exiba a caixa de diálogo de conexão ODBC.
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.
Se o lpszConnectString parâmetro no seu OpenEx telefonar não contiver 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, desde que você não tiver definido CDatabase::noOdbcDialog or CDatabase::forceOdbcDialog in the dwOptions parâmetro. Quando você telefonar OpenEx, a cadeia de conexão lpszConnectString, é armazenado em particular na CDatabase objeto e está disponível por telefonar ing o GetConnectfunção de membro .
Se desejar, você poderá em aberto sua própria caixa de diálogo antes de chamar OpenEx Para obter informações do usuário, sistema autônomo uma senha e, em seguida, adicionar essas informações para o cadeia de conexão passar para OpenEx. 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 OpenEx em um 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 6 no Referência do programador de ODBC.
É 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, OpenEx lança um CDBException.
Exemplo
// m_dbCust is a CDatabase object embedded in a CDocument class.
// Connect the object to a read-only data source where
// the ODBC connection dialog box will always remain hidden
m_dbCust.OpenEx(_T("DSN=MFC_ODBCTest;UID=JOES"),
CDatabase::openReadOnly | CDatabase::noOdbcDialog);
Requisitos
Cabeçalho: afxdb.h