Retorna um array com a lista de registros bloqueados na tabela atual pelo processo corrente.
Sintaxe
DBRLockList()
Retorno
Nome | Tipo | Descrição |
|---|---|---|
aRet | vetor | Retorna uma lista com os números dos registros bloqueados na tabela corrente. |
Observações
- A lista não contém valores repetidos e não é ordenada. A ordem de retorno será a ordem de bloqueio.
- Para retornar valores válidos, a tabela deve estar aberta no modo compartilhado.
- Caso não haja tabela aberta, o programa será encerrado com ocorrência de erro recuperável "Work area not in use".
- Caso a tabela tenha sido aberta, mas no modo exclusivo, o retorno será um array com o índice zero ({ 0 }).
- Caso a tabela tenha sido aberta no modo compartilhado, mas não existam registros bloqueados, o retorno será um array vazio ({}).
Exemplos
O exemplo abaixo utiliza a RDD "TOPCONN", mas a função pode ser utilizada com qualquer uma das RDDs válidas.
user function test()
Local nHandle := TCLink( "MSSQL/DSN1", "127.0.0.1", 7890 )
Local cTable := "MYTABLE"
Local cRDD := "TOPCONN"
// Abre a tabela em modo exclusivo
DBUseArea( .T., cRDD, cTable, (cTable), .F., .F. )
varinfo( "ret", DBRLockList() ) // Retorna: { 0 }
DBCloseArea()
// Abre a tabela em modo compartilhado
DBUseArea( .F., cRDD, cTable, (cTable), .T., .F. )
varinfo( "ret", DBRLockList() ) // Retorna: {}
DBGoTop()
DBRLock() // Bloqueia o primeiro registro
DBRLock( 110 ) // Bloqueia o registro de número 110
DBRLock( 100 ) // Bloqueia o registro de número 100
varinfo( "ret", DBRLockList() ) // Retorna: { 1, 110, 100 }
DBRLock( 110 ) // Bloqueia o registro de número 110
DBRLock( 1 ) // Bloqueia o primeiro registro
varinfo( "ret", DBRLockList() ) // Retorna: { 1, 110, 100 }
// Fecha a tabela
DBCloseArea()
// Desconecta do SGBD
TCUnlink( nHandle )
return
Import HTML Content
Visão Geral
Conteúdo das Ferramentas