Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
portuguese
Composition Setup
import.css=/download/attachments/3279126062824/newLayouttecnologia.css

Pagetitle
DBUnlock
DBUnlock

Função: DBUnlock

...

Retira todos os bloqueios de registros e de arquivos da tabela atual.

Sintaxe

Bloco de código
collapsefalse
DBUnlock()
--> Nil
Nil (Nulo)

Observações

  • Caso não haja tabela aberta, o programa será encerrado com ocorrência de erro recuperável "Work area not in use".
  • Se houver algum problema no desbloqueio dos registros da tabela, será apresentada no log de console do AppServer a mensagem "Warning - DBUnlock error".
  • Se a tabela está aberta em modo exclusivo, a função não realizará desbloqueios na tabela.
  • Caso um programa faça mais de uma conexão com o mesmo SGBD, uma conexão consegue liberar todos os bloqueios de uma tabela que teve bloqueios feitos por outra conexão. Isso só é possível para conexões realizadas pela mesma thread.
  • A função DBCloseArea remove todos os bloqueios realizados.

Exemplos

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

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
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), 
//Este exemplo, apresenta como liberar todos os registros bloqueados da tabela corrente.// Driver "DBFCDXADS" utiliza ACE para abertura do arquivoDBUseArea( .T.,"DBFCDXADS", "\dadosadv609\sa1990.dbf","SSS",
.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.
  
  DBUnlock()              // Desbloqueia todos os registros bloqueados em cTable
  
  // Fecha a tabela
  DBCloseArea()
  
  // Desconecta do SGBD
  TCUnlink( nHandle )
Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server

return

Veja também