Histórico da Página
Composition Setup |
---|
import.css=/download/attachments/3279126062824/newLayouttecnologia.css |
|
Pagetitle | ||||
---|---|---|---|---|
|
Função: DBRLock
Bloqueia o registro atual ou o especificado.
DBRLock ( [ nRegistro] ) --> lRet
Bloqueia um registro do alias de uma tabela para receber atualizações de valores de campos.
Sintaxe
Bloco de código | ||
---|---|---|
| ||
DBRLock( [ nRec ] )
|
Parâmetros
...
Nome | Tipo | Descrição | Obrigatório | Referência |
---|
...
nRec |
...
numérico | Indica o número do registro que será bloqueado. |
Retorno
Nome |
---|
...
Tipo | Descrição | |
---|---|---|
lRet | lógico | Retorna verdadeiro (.T.), se o registro for bloqueado com sucesso; caso contrário, falso (.F.). |
Informações | ||||||
---|---|---|---|---|---|---|
| , se não bloquear o registro. Principal motivo: O registro já foi bloqueado por outro usuário.
| |||||
|
Exemplos
O exemplo abaixo utiliza a RDD "TOPCONN", mas a função pode ser utilizada com qualquer uma das RDDs válidas.
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
user function test1()
Local nHandle := TCLink()
Local cTable := "MYTABLE"
Local cRDD := "TOPCONN"
Local lRet := .F.
// Abre a tabela em modo exclusivo
DBUseArea( .T., cRDD, cTable, (cTable), .F., .F. )
DBGoTop()
lRet := DBRLock() // Tenta bloquear o registro de número 1
conout( lRet ) // Exibe: .T.
DBCloseArea()
// Abre a tabela em modo compartilhado
//Este exemplo, apresenta duas maneiras de utilizar a função DBRLock().DBUseArea( .T., "dbfcdxads"cRDD,"\dadosadv609\sa1990.dbf","SSS", cTable, (cTable), .T., .F. ) DBGoTo( 100 ) lRet := DBRLock() // Bloqueia o registroatual (100)DBRLock(110) de número 100 conout( lRet ) // Exibe: .T. lRet := DBRLock( 110 ) // Bloqueia o registro de número 110 conout( Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server lRet ) // Exibe: .T.
// Fecha a tabela
DBCloseArea()
// Desconecta do SGBD
TCUnlink( nHandle )
return
|
O exemplo abaixo espera ser possível fazer o bloqueio de um registro, altera e depois desbloqueia.
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
user function test2()
Local nHandle := TCLink()
Local cTable := "MYTABLE"
Local cRDD := "TOPCONN"
Local lRet := .F.
// Abre a tabela em modo compartilhado
DBUseArea( .T., cRDD, cTable, (cTable), .T., .F. )
DBGoTo( 100 )
// Espera o bloqueio ser possível
while !DBRLock()
sleep( 1000 )
enddo
// Altera o conteúdo do registro
(cTable)->MYFIELD := "ABCDE"
// Desbloqueia o registro
DBRUnlock( 100 )
// Fecha a tabela
DBCloseArea()
// Desconecta do SGBD
TCUnlink( nHandle )
return
|
Veja também
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas