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 | ||||
---|---|---|---|---|
| ||||
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
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 DBUseArea( .T., |
...
cRDD, |
...
cTable, (cTable), .T., .F. ) |
...
DBGoTo( 100 |
...
) lRet := DBRLock() // Bloqueia o registro |
...
de número 100 conout( lRet ) // Exibe: .T. lRet := DBRLock( 110 ) // Bloqueia o registro de número 110 conout( 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
Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas