Partilhar via


CDaoRecordset::edição

Chamar essa função de membro para permitir que as alterações a registro corrente.

virtual void Edit( );

Comentários

Uma vez você chamar o ediçãofunção de membro , as alterações feitas campos registro corrente's são copiados para o buffer de cópia.Depois de fazer as alterações desejadas do registro, telefonar Atualização para salvar suas alterações.edição salva os valores dos membros de dados do conjunto de registros.Se você chamar edição, faça as alterações e, em seguida, chamar edição novamente, os valores do registro são restauradas para como eram antes do primeiro edição telefonar.

Cuidado:

Se você edição um registro e, em seguida, executar qualquer operação que mova para outro registro sem primeiro chamada Atualização, suas alterações serão perdidas sem aviso.Além disso, se você fechar o conjunto de registros ou banco de dados pai, seu registro editado será descartado sem aviso.

Em alguns casos, convém atualizar uma coluna, tornando-nulo (contendo sem dados).Para fazer isso, telefonar SetFieldNull com um parâmetro de TRUE para marcar o campo nulo; isso também faz com que a coluna a ser atualizada.Se você quiser que um campo a serem gravados para a fonte de dados, mesmo que seu valor não mudou, telefonar SetFieldDirty com um parâmetro de TRUE.Isso funciona mesmo se o campo tiver o valor nulo.

As marcas de estrutura alterada membros de campo de dados para garantir que eles serão gravados no registro na fonte de dados pelo mecanismo de troca (DFX) de campo de registro DAO.Alterar o valor de um campo geralmente define automatitelefonary sujo de campo, para que você raramente precisará telefonar SetFieldDirty sozinho, mas você pode, às vezes, deseja garantir colunas serão atualizadas ou inseridas independentemente de qual valor no campo de dados de membro explicitamente.O mecanismo DFX emprega o uso de PSEUDO NULO.Para obter mais informações, consulte CDaoFieldExchange::m_nOperation.

Se o mecanismo de buffer duplo não estiver sendo usado, em seguida, alterando o valor do campo não define automaticamente o campo sistema autônomo sujo.Nesse caso, será necessário conjunto explicitamente o campo sujo.O sinalizar contido em m_bCheckCacheForDirtyFields controla essa verificação automático de campo.

Quando o objeto conjunto de registros pessimistically é bloqueado em um ambiente multiusuário, o registro permanecerá bloqueado do time de edição é usado até que a atualização seja concluída.Se o conjunto de registros optimistically estiver bloqueado, o registro está bloqueado e comparado com o registro anterior à edição apenas antes que ele seja atualizado no banco de dados.Se o registro foi alterado desde que você chamado edição, the Atualização operação falhar e MFC lança uma exceção.Você pode alterar o modo de bloqueio com SetLockingMode.

Observação:

Proteção otimista é sempre usada em formatos de banco de dados externo, sistema autônomo ODBC e inst allable ISAM.

O registro corrente permanece corrente depois que você chamar edição.Para chamar edição, deve haver um registro corrente.Se não houver nenhum registro corrente ou conjunto de registros não faz referência a um tipo de tabela em aberto ou o objeto recordset do tipo dynaset, ocorre uma exceção. De chamadaedição causes a CDaoException para ser lançado sob as seguintes condições:

  • Não há nenhum registro corrente.

  • O banco de dados ou o conjunto de registros é somente leitura.

  • Não há campos do registro são atualizáveis.

  • O banco de dados ou o conjunto de registros foi aberto para uso exclusivo por outro usuário.

  • Outro usuário tiver bloqueado a página que contém o registro.

Se a fonte de dados oferece suporte a transações, você poderá tornar o edição telefonar parte de uma transação.Observe que você deve telefonar CDaoWorkspace::BeginTrans antes de telefonar ing edição e depois que o conjunto de registros foi aberto.Observe também que chamada CDaoWorkspace::CommitTrans não é um substituto para chamada Atualização para concluir o edição operação.Para obter mais informações sobre transações, consulte classe CDaoWorkspace.

Para obter informações relacionadas, consulte os tópicos "Método AddNew", "edição método", "Método excluir", "Método de atualização" e "Propriedade atualizável" na Ajuda do DAO.

Requisitos

Cabeçalho: afxdao.h

Consulte também

Referência

Classe CDaoRecordset

Gráfico de hierarquia

CDaoRecordset::AddNew

CDaoRecordset::CancelUpdate

CDaoRecordset::CanTransact

CDaoRecordset::excluir

CDaoRecordset::atualização

Outros recursos

CDaoRecordset membros