Descrição
Libera determinado registro bloqueado.. |
Sintaxe
dbRUnlock( <nRegistro> ) |
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! 😎