CDatabase:: OpenEx

virtual BOOL OpenEx (LPCTSTR lpszConnectString, DWORD dwOptions = 0 );
lançar (CDBException, CMemoryException);

Valor de retorno

Diferente de zero se a conexão é estabelecida com êxito; caso contrário 0 se o usuário optar por cancelar quando apresentada uma caixa de diálogo solicitando mais informações sobre a conexão. Em todos os outros casos, o framework lança uma exceção.

Parâmetros

lpszConnectString

Especifica uma ODBC ligar Cadeia de caracteres. Isso inclui o nome de fonte de dados, bem como outras informações opcionais, como uma ID de usuário e senha. Por exemplo, "DSN = SQLServer_Source;UID = SA;PWD = abc123 "é uma Cadeia de conexão possível. Observe que se você passar NULL para lpszConnectString, uma dados Origem caixa de diálogo solicitará que o usuário para selecionar uma fonte de dados.

dwOptions

Uma máscara de bits que especifica uma combinação do seguinte valores. O valor padrão é 0, que significa que o banco de dados será aberto como compartilhado com acessar de gravar, a DLL de biblioteca de Cursor ODBC não será carregada, e a caixa de diálogo de conexão ODBC exibirá somente se não houver informações suficientes para fazer a conexão.

Observações

Chame essa função de membro para inicializar um objeto de CDatabase recém-construído. Seu objeto de banco de dados deve ser inicializado antes de você pode usá-lo para construir um objeto recordset.

Se o parâmetro lpszConnectString na sua chamada OpenEx 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 ou CDatabase:: forceOdbcDialog no parâmetro dwOptions . Quando você chamar OpenEx, sua seqüência de conexão, lpszConnectString, é armazenada de maneira segura no objeto CDatabase e está disponível por chamado a função de membro GetConnect.

Se desejar, você pode abrir sua própria caixa de diálogo antes de chamar OpenEx para obter informações do usuário, such as uma senha e, em seguida, adicionar essa informação para a Cadeia de conexão que você passar para OpenEx. Ou você talvez queira salvar a seqüência de conexão que você passar assim que você pode reutilizá-la na próxima vez que o aplicativo chama OpenEx em um objeto de CDatabase.

Você também pode usar a seqüência de conexão para vários níveis de autorização de início de sessão (cada um para um objeto de CDatabase diferente) ou transmitir outras informações específicas da origem de dados. Para obter mais informações sobre como conectar-se seqüências de caracteres, consulte o capítulo 5 na Referência do programador ODBC SDK.

É possível para uma tentativa de conexão para o tempo limite se, por exemplo, o host do DBMS não estiver disponível. Se a tentativa de conexão falhar, OpenEx lança um CDBException.

Exemplo

/ / Incorporar um objeto de CDatabase
/ / em sua classe de documento
CDatabase m_dbCust;

/ / Conectar o objeto de uma / / onde da fonte de dados somente leitura
/ / caixa de diálogo de conexão ODBC
/ / sempre permanecerão ocultas
m_dbCust.OpenEx ( t ("DS&N = MINHAFONTEDEDADOS;UID = JOES "),
 nbsp;               CDatabase::openReadOnly |
                 CDatabase:: noOdbcDialog)

Visão geral de CDatabaseMembros de classe | Gráfico de hierarquia

Co&nsulte tambémnbsp;CDatabase:: Open, CDatabase::CDatabase, CDatabase::Close, CDBException, CRecordset:: Open

Index