import.css=/download/attachments/6062824/tecnologia.css

Libera determinado registro bloqueado.

Sintaxe

DBRUnlock( [ nRec ] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

nRec

numérico

Indica o número do registro que será desbloqueado.

 

 

Observações

Exemplos

Os exemplos abaixo utilizam a RDD "TOPCONN", mas a função pode ser utilizada com qualquer uma das RDDs válidas.

O exemplo abaixo mostra o desbloqueio de todos os registros bloqueados.

user function test1()
  Local nHandle := TCLink( "MSSQL/DSN1", "127.0.0.1", 7890 )
  Local cTable := "MYTABLE"
  Local cRDD := "TOPCONN"
  Local lRet := .F.
  
  // 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.
  
  DBRUnlock()             // Desbloqueia todos os registros bloqueados
  
  // 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 o desbloqueia.

user function test2()
  Local nHandle := TCLink( "MSSQL/DSN1", "127.0.0.1", 7890 )
  Local cTable := "MYTABLE"
  Local cRDD := "TOPCONN"
  Local lRet := .F.
  
  // Abre a tabela em modo compartilhado
  DBUseArea( .T., cRDD, cTable, (cTable), .T., .F. )
  
  // Vai para o registro 100
  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 100
  DBRUnlock( 100 )
  
  // Fecha a tabela
  DBCloseArea()
  
  // Desconecta do SGBD
  TCUnlink( nHandle )
return

Veja também