Histórico da Página
...
Pagetitle | ||||
---|---|---|---|---|
|
Bloqueia o registro atual ou o especificadoum registro do alias de uma tabela para receber atualizações de valores de campos.
Sintaxe
Bloco de código | ||
---|---|---|
| ||
DBRLock( [ nRec ] ) |
...
Nome | Tipo | Descrição | Obrigatório | Referência | ||
---|---|---|---|---|---|---|
nRec | numérico | Indica o número do registro que será bloqueado. |
|
|
Retorno
Nome | Tipo | Descrição |
---|---|---|
lRet | lógico | Retorna verdadeiro (.T.), se o registro for bloqueado com sucesso; caso contrário, falso (.F.). |
Informações | ||||
---|---|---|---|---|
| ||||
|
...
|
...
|
...
|
Exemplos
O exemplo abaixo utiliza a RDD "TOPCONN", mas a função pode ser utilizada com qualquer uma das RDDs válidas.
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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 exclusivo
DBUseArea( .T., cRDD, cTable, (cTable), .F., .F. )
DBGoTop()
lRet := DBRLock() // Tenta bloquear o registro de número 1
conout( lRet ) // Exibe: .T.
DBCloseArea()
// 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.
// Fecha a tabela
DBCloseArea()
// Desconecta do SGBD
TCUnlink( nHandle )
return
|
...
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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. )
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
DBRUnlock( 100 )
// Fecha a tabela
DBCloseArea()
// Desconecta do SGBD
TCUnlink( nHandle )
return
|
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas