Retira todos os bloqueios de registros e de arquivos da tabela atual.
Sintaxe
DBUnlock()
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.
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. DBUnlock() // Desbloqueia todos os registros bloqueados em cTable // Fecha a tabela DBCloseArea() // Desconecta do SGBD TCUnlink( nHandle ) return
Veja também
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas