Partilhar via


Recordset: Bloqueio de registros (ODBC)

Este tópico se aplica a classes MFC ODBC.

Este tópico explica:

  • Os tipos de bloqueio de registro disponível.

  • Como bloquear registros de registros durante atualizações.

Quando você usa um conjunto de registros para atualizar um registro na fonte de dados, seu aplicativo pode bloquear o registro para que nenhum outro usuário pode atualizar o registro ao mesmo tempo.O estado de um registro atualizado por dois usuários ao mesmo tempo não está definido, a menos que o sistema pode garantir que dois usuários não é possível atualizar um registro simultaneamente.

ObservaçãoObservação

Este tópico se aplica aos objetos derivados de CRecordset em qual linha em massa buscando não foi implementada.Se tiver implementado em massa linha buscando, algumas informações não se aplica.Por exemplo, você não pode chamar o Editar e atualização funções de membro.Para obter mais informações sobre a busca de linha em massa, consulte Recordset: buscar registros em massa (ODBC).

Modos de bloqueio de registro

As classes de banco de dados fornecem dois modos de bloqueio de registro:

  • Otimista bloqueio (o padrão)

  • Bloqueio pessimista

Atualizar um registro ocorre em três etapas:

  1. Iniciar a operação chamando o Editar função de membro.

  2. Alterar os campos apropriados do registro atual.

  3. Finalizar a operação — e normalmente confirmar a atualização — chamando o atualização função de membro.

Bloqueio otimista bloqueia o registro na fonte de dados somente durante o atualização chamar.Se você usar o bloqueio otimista em um ambiente multiusuário, o aplicativo deve manipular uma atualização condição de falha.Bloqueio pessimista bloqueia o registro assim que você chamar Editar e não liberá-lo até que você chamada atualização (falhas são indicadas por meio do CDBException mecanismo, não por um valor de FALSE retornado por atualização).Bloqueio pessimista tem uma penalidade de desempenho possíveis para outros usuários, porque o acesso simultâneo ao mesmo registro talvez precise aguardar até a conclusão do seu aplicativo atualização processo.

Registros de bloqueio de registros

Se você quiser alterar um objeto recordset modo de bloqueio do padrão, você deve alterar o modo antes de chamar Editar.

Para alterar o modo de bloqueio atual para seu conjunto de registros

  • Chamar o SetLockingMode função de membro, especificando um CRecordset::pessimistic ou CRecordset::optimistic.

O novo modo de bloqueio permanecerá em vigor até que você altere novamente ou recordset é fechado.

ObservaçãoObservação

Drivers ODBC relativamente poucas atualmente suportam a bloqueio pessimista.

Consulte também

Conceitos

Conjunto de registros (ODBC)

Recordset: Executar uma junção (ODBC)

Recordset: Adicionando, atualizando e excluindo registros (ODBC)