Compartilhar via


O conjunto de registros: Bloqueio de registros (ODBC)

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

Este tópico explica:

  • Os tipos de bloqueio de registro disponível.

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

Quando você usa um conjunto de registros para atualizar um registro na fonte de dados, o seu aplicativo pode bloquear o registro para que nenhum outro usuário possa 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 no qual linha em massa buscando não foi implementada. Se você implementou a busca de linha em massa, 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 de bloqueio (o padrão)

  • A proteção pessimista

Atualizar um registro ocorre em três etapas:

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

  2. Você alterar os campos apropriados do registro atual.

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

Bloqueio otimista bloqueia o registro na fonte de dados somente durante o atualização de chamada. Se você usar o bloqueio otimista em um ambiente multiusuário, o aplicativo deve manipular um atualização a condição de falha. Proteção pessimista bloqueia o registro tão logo você chamar Editar e não liberá-lo até que você chamada atualização (falhas são indicadas por meio de CDBException mecanismo, não por um valor de FALSE retornado pela atualização). A proteção 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 de conjunto de registros modo de bloqueio do padrão, você deve alterar o modo antes de chamar Editar.

Para alterar o modo de bloqueio atual para o 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é você alterá-la novamente ou o conjunto de registros é fechado.

ObservaçãoObservação

Drivers ODBC relativamente poucas atualmente suportam a proteção pessimista.

Consulte também

Conceitos

O conjunto de registros (ODBC)

O conjunto de registros: Executar uma associação (ODBC)

O conjunto de registros: Adicionar, atualizar e excluir registros (ODBC)