Partilhar via


Classe CDaoWorkspace

Gerencia uma sessão de banco de dados nomeados, protegidos por senha de login para fazer logoff, por um único usuário.

class CDaoWorkspace : public CObject

Comentários

Na maioria dos casos, não será necessário vários espaços de trabalho e você não precisará criar objetos de espaço de trabalho explícito; ao em em aberto objetos de banco de dados e conjunto de registros, eles usam espaço de trabalho padrão do DAO.No entanto, se necessário, você pode executar várias sessões ao mesmo time, criando objetos de espaço de trabalho adicionais.Cada objeto do espaço de trabalho pode conter vários objetos de banco de dados em aberto em sua própria coleção Databases.No MFC, um espaço de trabalho é principalmente um gerenciador de transação, especificando um conjunto de em aberto bancos de dados todos na mesma "transação espaço".

Observação:

As classes de banco de dados DAO são diferentes das classes MFC banco de dados baseadas em ODBC (em aberto Database conectividade).Todos os nomes de classe do banco de dados DAO têm um " CDao "prefixo.Em geral, as classes MFC com base no DAO são mais capazes do que as classes MFC baseadas em ODBC.As classes de DAO acesso dados através do mecanismo de banco de dados Microsoft Jet, incluindo drivers de ODBC.Eles também oferecem suporte a operações de DDL (linguagem de definição de dados), sistema autônomo criar bancos de dados e adicionar tabelas e campos por meio de classes, sem precisar chamar diretamente o DAO.

Recursos

De classeCDaoWorkspace Fornece o seguinte:

  • Acesso explícito, se necessário, para uma área de trabalho padrão, criada por inicializar o mecanismo de banco de dados.Geralmente você usar espaço de trabalho do DAO padrão implicitamente criando objetos de banco de dados e conjunto de registros.

  • em em aberto um espaço de transação na qual as transações se aplicam a todos os bancos de dados no espaço de trabalho.Você pode criar espaços de trabalho adicionais para gerenciar espaços de transação separado.

  • Uma interface para muitas propriedades do mecanismo de banco de dados Microsoft Jet subjacente (consulte as funções de membro estático).Abrindo ou criando um espaço de trabalho ou chamando uma função de membro estático antes de em em aberto ou criar, inicializa o mecanismo de banco de dados.

  • Acesso à coleção Workspaces do mecanismo de banco de dados, que armazena todos os espaços de trabalho ativo tenham sido acrescentados a ele.Você também pode criar e trabalhar com espaços de trabalho sem acrescentá-los à coleção.

Segurança

MFC não implementa as coleções de usuários e grupos no DAO, que são usados para controle de segurança.Se você precisar desses aspectos do DAO, você deve programá-los você mesmo por meio de chamadas diretas para interfaces do DAO.Para obter informações, consulte Observação técnica 54.

Uso

Você pode usar a classe CDaoWorkspace para:

  • Explicitamente em aberto o espaço de trabalho padrão.

    Geralmente o uso do espaço de trabalho padrão está implícito — quando você em aberto novo CDaoDatabase or CDaoRecordset objetos.Mas talvez seja necessário acessá-lo explicitamente — por exemplo, para acessar propriedades de mecanismo de banco de dados ou a coleção de espaços de trabalho.Consulte "Uso implícito do espaço de trabalho padrão de" abaixo.

  • Crie novos espaços de trabalho. De telefonarAcrescentar para adicioná-los à coleção Workspaces.

  • Abra um espaço de trabalho existente na coleção Workspaces.

Criando um novo espaço de trabalho já existe na coleção Workspaces é descrito no Criarfunção de membro .Objetos de espaço de trabalho não persistem de alguma forma entre sessões do mecanismo datababase.Se seu aplicativo vincula estaticamente MFC, encerrando o aplicativo uninitializes o mecanismo de banco de dados.Se seu aplicativo vínculos dinamicamente com o MFC, o mecanismo de banco de dados é inicializado quando a DLL da MFC é descarregada.

Explicitamente em em aberto o espaço de trabalho padrão, ou em em aberto um espaço de trabalho existente na coleção Workspaces, descrito no em abertofunção de membro .

Encerrar uma sessão do espaço de trabalho fechando o espaço de trabalho com o Fecharfunção de membro .Fechar fecha todos os bancos de dados que não fechou anteriormente, reversão de todas as transações não confirmadas.

Transações

DAO gerencia transações no nível do espaço de trabalho; assim, as transações em um espaço de trabalho com vários bancos de dados abertos se aplica a todos os bancos de dados.Por exemplo, se tiverem dois bancos de dados de atualizações não confirmadas e você chamar CommitTrans, todas as atualizações são confirmadas.Se você desejar limitar as transações a um único banco de dados, você precisa de um objeto do espaço de trabalho separado para ele.

Uso implícito do espaço de trabalho padrão

MFC usa espaço de trabalho do DAO padrão implicitamente nas seguintes circunstâncias:

  • Se você criar um novo CDaoDatabase objeto mas não fazer isso por meio de um existente CDaoWorkspace objeto, MFC cria um objeto de espaço de trabalho temporário para você, que corresponde ao espaço de trabalho do DAO padrão. Se você fizer isso para vários bancos de dados, todos os objetos de banco de dados estão associados com a área de trabalho padrão.Você pode acesso espaço de trabalho do banco de dados por meio de um CDaoDatabase membro de dados.

  • Da mesma forma, se você criar um CDaoRecordset objeto sem fornecer um ponteiro para um CDaoDatabase o objeto, a MFC cria um objeto de banco de dados temporário e, por extensão, um objeto do espaço de trabalho temporário. Você pode acessar o banco de dados de um conjunto de registros e indiretamente seu espaço de trabalho, por meio de um CDaoRecordset membro de dados.

Outros Operações

Outras operações de banco de dados também são fornecidas, sistema autônomo reparar um banco de dados corrompido ou compactar um banco de dados.

Para obter informações sobre como chamar o DAO diretamente e sobre a segurança do DAO, consulte Observação técnica 54.

Requisitos

Cabeçalho: afxdao.h

Consulte também

Referência

Classe CObject

Gráfico de hierarquia

Classe CDaoDatabase

Classe CDaoRecordset

Classe CDaoTableDef

Classe CDaoQueryDef

Classe CDaoException

Outros recursos

CDaoWorkspace membros