Compartilhar via


Conjunto de registros: como conjuntos de registros atualizam registros (ODBC)

Este tópico aplica-se às classes ODBC do MFC.

Além da capacidade de selecionar registros de uma fonte de dados, os conjuntos de registros podem (opcionalmente) atualizar ou excluir os registros selecionados ou adicionar novos registros. Três fatores determinam a capacidade de atualização de um conjunto de registros: se a fonte de dados conectada é atualizável, as opções especificadas quando você cria um objeto de conjunto de registros e o SQL que é criado.

Observação

O SQL no qual o objeto CRecordset se baseia pode afetar a capacidade de atualização do conjunto de registros. Por exemplo, se o SQL contiver uma junção ou uma cláusula GROUP BY, o MFC definirá a capacidade de atualização como FALSE.

Observação

Este tópico aplica-se a objetos derivados de CRecordset nos quais o fetch de linha em massa não foi implementado. Se você estiver usando busca de linhas em massa, confira Conjunto de registros: buscando registros em massa (ODBC).

Este tópico explica:

Conjunto de registros: como AddNew, Edit, e Delete funcionam (ODBC) descreve as ações dessas funções do ponto de vista do conjunto de registros.

Conjunto de registros: mais informações sobre atualizações (ODBC) conclui a história de atualização do conjunto de registros, explicando como as transações afetam as atualizações, como o fechamento ou rolagem de um conjunto de registros afeta as atualizações em andamento e como suas atualizações interagem com as atualizações de outros usuários.

Sua função na atualização do conjunto de registros

A tabela a seguir mostra sua função no uso de conjuntos de registros para adicionar, editar ou excluir registros, e explica o que a estrutura faz por você.

Atualização do conjunto de registros: você e a estrutura

Você A estrutura
Determinar se a fonte de dados é atualizável (ou anexável). Fornece funções de membro CDatabase para testar a capacidade de atualização ou de acréscimo da fonte de dados.
Abrir um conjunto de registros atualizável (de qualquer tipo).
Determinar se o conjunto de registros é atualizável chamando funções de atualização CRecordset como CanUpdate ou CanAppend.
Chamar funções de membro do conjunto de registros para adicionar, editar e excluir registros. Gerencia a mecânica da troca de dados entre o objeto do conjunto de registros e a fonte de dados.
Opcionalmente, usar transações para controlar o processo de atualização. Fornece funções de membro CDatabase para dar suporte a transações.

Para obter mais informações sobre transações, confira Transação (ODBC).

O buffer de edição

Coletivamente, os membros de dados de campo de um conjunto de registros servem como um buffer de edição que contém um registro: o registro atual. As operações de atualização usam esse buffer para operar no registro atual.

  • Quando você adiciona um registro, o buffer de edição é usado para criar um registro. Quando você terminar de adicionar o registro, o registro que era atual se tornará atual novamente.

  • Quando você atualiza (edita) um registro, o buffer de edição é usado para definir os membros de dados de campo do conjunto de registros com novos valores. Quando você terminar de atualizar, o registro atualizado permanecerá atual.

Quando você chama AddNew ou Edit, o registro atual é armazenado para que possa ser restaurado posteriormente, conforme necessário. Quando você chama Delete, o registro atual não é armazenado, mas é marcado como excluído e você deve rolar para outro registro.

Observação

O buffer de edição não desempenha nenhuma função na exclusão de registros. Quando você exclui o registro atual, o registro é marcado como excluído e o conjunto de registros "não está em um registro" até que você role para um registro diferente.

Dynasets e instantâneos

Os dynasets atualizam o conteúdo de um registro enquanto você rola até o registro. Os instantâneos são representações estáticas dos registros, portanto, o conteúdo de um registro não é atualizado, a menos que você chame Requery. Para usar todas as funcionalidades de dynasets, você deve tabalhar com um driver ODBC que esteja em conformidade com o nível correto de suporte à API do ODBC. Para obter mais informações, confira ODBC e Dynaset.

Confira também

Conjunto de registros (ODBC)
Conjunto de registros: como fazer AddNew, editar e excluir trabalho (ODBC)