Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este tópico se aplica às classes ODBC do MFC.
Este tópico explica:
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 possa atualizar o registro ao mesmo tempo. O estado de um registro atualizado por dois usuários ao mesmo tempo é indefinido, a menos que o sistema possa garantir que dois usuários não possam atualizar um registro simultaneamente.
Observação
Este tópico aplica-se a objetos derivados de CRecordset nos quais a busca de linhas em massa não foi implementada. Se tiver implementado a extração em lote de linhas, algumas das informações não se aplicam. Por exemplo, não é possível chamar as funções membro Edit e Update. Para obter mais informações sobre a busca de linhas em massa, consulte Recordset: Buscando registros em massa (ODBC).
Record-Locking Modos
As classes de banco de dados fornecem dois modos de bloqueio de registro:
Bloqueio otimista (o padrão)
Bloqueio pessimista
A atualização de um registro ocorre em três etapas:
Você começa a operação chamando a função membro Editar.
Você altera os campos apropriados do registo atual.
Você termina a operação — e normalmente confirma a atualização — chamando a função de membro Atualizar .
O bloqueio otimista bloqueia o registro na fonte de dados somente durante a Update chamada. Se utilizar o bloqueio otimista num ambiente multiutilizador, o aplicativo deverá gerir uma condição de Update falha. O bloqueio pessimista bloqueia o registo assim que você chama Edit e não o libera até que você chame Update (falhas são indicadas por meio do mecanismo CDBException, não por um valor FALSE retornado por Update). O bloqueio pessimista pode prejudicar o desempenho para outros utilizadores, pois o acesso simultâneo ao mesmo registo pode ter que aguardar até à conclusão do processo da sua aplicação.
Bloqueando registros em seu conjunto de registros
Se desejar alterar o modo de bloqueio padrão de um objeto de conjunto de registos, deve alterar o modo antes de chamar Edit.
Para alterar o modo de bloqueio atual do conjunto de registros
- Chame a função membro SetLockingMode, especificando
CRecordset::pessimisticouCRecordset::optimistic.
O novo modo de bloqueio permanece em vigor até que você o altere novamente ou o conjunto de registros seja fechado.
Observação
Atualmente, relativamente poucos drivers ODBC suportam bloqueio pessimista.
Ver também
Conjunto de registros (ODBC)
Conjunto de registros: Executando uma junção (ODBC)
Conjunto de registros: Adicionando, atualizando e excluindo registros (ODBC)