Descrição
dbRUnlock [AS] - Libera determinado registro bloqueado..
|
Sintaxe
Parâmetros
| Par |
Nome |
Tipo |
Descrição |
Default |
Obg |
Ref |
01
|
nRegistro
|
Numérico
|
Indica o número do registro que será desbloqueado
|
|
|
|
Retorno
| Retorno |
Tipo |
Descrição |
| xRet |
Indefinido
|
Retorna a informação da ordem requisitada pelo usuário (tipo numérico, se for número de ordens no índice, tipo caracter, se for nome do arquivo de índice. Caso não exista a ordem corrente ou a posição da ordem é inválida, o retorno será nulo ("")
|
Exemplo
#INCLUDE "TOTVS.CH"
User Function dbRUnlock()
dbSelectArea('SA1')
dbGoTo(2)
If !dbRLock()
Conout( 'Não Bloqueou' )
Endif
If !dbRLock(4)
Conout( 'Não Bloqueou' )
Endif
dbRUnlock(4)
VarInfo( 'dbRLockList', dbRLockList() )
If !dbRLock()
Conout( 'Não Bloqueou' )
Endif
If !dbRLock(4)
Conout( 'Não Bloqueou' )
Endif
dbRUnlock()
VarInfo( 'dbRLockList', dbRLockList() )
Return( Nil )
Resultado
Informações adicionais
|
Pode-se escolher um registro a ser desbloqueado, através do parâmetro <nRegistro>. Porém, se este parâmetro não for especificado, serão soltos todos os bloqueios de registro do alias atual, da mesma forma que a função DBUnlock().
|
|
Em ambos os casos, somente serão soltos os bloqueios de registro obtidos nos processos/conexões atuais. Caso a função seja chamada solicitando o desbloqueio de um registro especifico que encontra-se bloqueado por outro proceso, a chamada de desbloqueio será ignorada.
|
|
Não é possível chamar a função DBRUnlock para um alias, caso o driver de abertura deste alias esteja com uma transação ativa. Caso o programa AdvPL erroneamente chame as funções DBRUnlock e/ou DBUnlock dentro de um bloco transacionado, o programa será interrompido com a ocorrência de erro fatal AdvPL "DBRUnlock cannot be called in a transaction".
|
Gostou? Compartilhe com seus amigos e deixe um comentário! 😎