Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 4 Atual »

Retorna um array com o índice registros que estão bloqueados na tabela atual.

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

Veja também

  • Sem rótulos