CDaoDatabase::Open
Você deve chamar essa função de membro para inicializar um objeto recentemente construído de CDaoDatabase que representa um banco de dados existente.
virtual void Open(
LPCTSTR lpszName,
BOOL bExclusive = FALSE,
BOOL bReadOnly = FALSE,
LPCTSTR lpszConnect = _T(
"" )
);
Parâmetros
lpszName
Uma expressão de cadeia de caracteres que é o nome de um arquivo de banco de dados existente do Microsoft Jet (.MDB). Se o nome do arquivo possui uma extensão, exige-se. Se sua rede oferece suporte a convenção de nomenclatura uniforme (UNC), você também pode especificar um caminho de rede, como “\\\\MYSERVER\\MYSHARE\\MYDIR\\MYDB.MDB”. (As barras invertidas duplas são necessárias em literais de cadeia de caracteres como “\” é um caractere de escape C++.)Algumas considerações se aplicam ao usar lpszName. Se ele:
Se refere a um banco de dados que já está aberto para acesso exclusivo por outro usuário MFC, gera uma exceção de tipo CDaoException. Interceptar que exceção para permitir que o usuário saiba que o banco de dados não está disponível.
É uma cadeia de caracteres vazia ("") e o lpszConnect é “; ODBC”, uma caixa de diálogo que lista todos os nomes registrados da fonte de dados ODBC é exibida para que o usuário pode selecionar um banco de dados. Você deve evitar referências diretas a fontes de dados ODBC; use uma tabela anexado em vez de isso.
Se não se refere a um banco de dados existente ou o nome válido da fonte de dados ODBC, MFC gera uma exceção do tipo CDaoException.
Dica
Para obter detalhes sobre códigos de erro de DAO, consulte o arquivo de DAOERR.H.Para informações relacionadas, consulte o tópico “erros Interceptáveis de acesso a dados” na ajuda de DAO.
bExclusive
Um valor Booleano que é Verdadeiro se o banco de dados deve ser aberto para acesso exclusivo (não compartilhados) e o Falso se o banco de dados deve ser aberto para acesso compartilhado. Se você omitir o argumento, o banco de dados está aberto para acesso compartilhado.bReadOnly
Um valor Booleano que é Verdadeiro se o banco de dados deve ser aberto para acesso somente leitura e o Falso se o banco de dados deve ser aberto para acesso de leitura/gravação. Se você omitir o argumento, o banco de dados está aberto para acesso de leitura/gravação. Todos os conjuntos de registros dependentes herdam este atributo.lpszConnect
Uma expressão de cadeia de caracteres usados abrindo o banco de dados. Essa cadeia de caracteres constitui ODBC conecta argumentos. Você deve fornecer os argumentos e exclusivas somente leitura para fornecer uma cadeia de caracteres de origem. Se o banco de dados é um banco de dados Microsoft Jet (.MDB), essa cadeia de caracteres está vazia (""). A sintaxe para o valor padrão — _T("") — fornece a portabilidade para Unicode bem como compilações ANSI do seu aplicativo.
Comentários
Abrir associa o banco de dados com o objeto subjacente de DAO. Você não pode usar o objeto de banco de dados ao conjunto de registros de compilação, ao tabledef, ou objetos de querydef até que seja inicializado. Abrir anexa o objeto de banco de dados associado à coleção de bancos de dados do espaço de trabalho.
Use os parâmetros da seguinte maneira:
Se você está abrindo um banco de dados Microsoft Jet (.MDB), use o parâmetro de lpszName e passar uma cadeia de caracteres vazia para o parâmetro de lpszConnect ou passar uma cadeia de caracteres de senha do formulário “; PWD=password” se o banco de dados senha- é protegido (bancos de dados de somente .MDB).
Se você está abrindo uma fonte de dados ODBC, passe uma cadeia de conexão ODBC válida em lpszConnect e uma cadeia de caracteres vazia em lpszName.
Para informações relacionadas, consulte o tópico “método OpenDatabase” na ajuda de DAO.
Dica
Para melhor desempenho ao acessar bancos de dados externos, incluindo bancos de dados de ISAM e fontes de dados ODBC, é recomendável que você anexe tabelas de banco de dados externos a um banco de dados do mecanismo da Microsoft Jet (.MDB) em vez de se conectar diretamente para a fonte de dados.
É possível para uma tentativa de conexão para o tempo limite se, por exemplo, o host de DBMS não está disponível. Se a tentativa de conexão falhar, Abrir gera uma exceção do tipo CDaoException.
Os comentários restantes se aplicam somente a bancos de dados ODBC:
Se o banco de dados é um banco de dados ODBC e os parâmetros na chamada de Abrir não contêm informações suficientes para fazer a conexão, o driver ODBC abrir uma caixa de diálogo para obter as informações necessárias do usuário. Quando você chama Abrir, a cadeia de conexão, lpszConnect, é armazenada particulares e está disponível chamar a função de membro de GetConnect .
Se você desejar, você pode abrir a própria caixa de diálogo antes de chamar Abrir para obter informações do usuário, como uma senha, o que adicionar informações à cadeia de conexão que você passa a Abrir. Ou você talvez queira salvar a cadeia de conexão que você passar (talvez no Registro do Windows) para que você pode reutilizá-lo a próxima vez que seus chamadas Abrir do aplicativo em um objeto de CDaoDatabase .
Você também pode usar a cadeia de conexão para vários níveis de autorização de login (cada um para um objeto diferente de CDaoDatabase ) ou transmitir informações banco de dados específica.
Requisitos
Cabeçalho: afxdao.h