user function test1()
Local nHandle := TCLink( "MSSQL/DSN1", "127.0.0.1", 7890 )
Local cTable1 := "MYTABLE1"
Local cTable2 := "MYTABLE2"
Local cRDD := "TOPCONN"
Local lRet := .F.
// Abre a tabela 1 em modo compartilhado, criando uma nova área de trabalho
DBUseArea( .T., "dbfcdxads", "\dadosadv\sa1990.dbf","SSS", cRDD, cTable1, (cTable1), .T., .F. )
lRet := DBRLock( 100 ) // Bloqueia o registro de número 100
conout( lRet ) // Exibe: .T.
// Abre a tabela 2 em modo compartilhado na área de trabalho atual
DBUseArea( .F., cRDD, cTable2, (cTable2), .T., .F. )
lRet := DBRLock( 110 ) // Bloqueia o registro de número 110
conout( lRet ) // Exibe: . ..DBUnlockAll() Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server T.
// Desbloqueia todos os registros bloqueados na área de trabalho
DBUnlockAll()
// Reabre a tabela 1 em modo compartilhado
DBUseArea( .F., cRDD, cTable1, (cTable1), .T., .F. )
// Lista os bloqueios na tabela 1
varinfo( "list1", DBRLockList() ) // Vai exibir: {}
// Reabre a tabela 2 em modo compartilhado
DBUseArea( .F., cRDD, cTable2, (cTable2), .T., .F. )
// Lista os bloqueios na tabela 2
varinfo( "list2", DBRLockList() ) // Vai exibir: {}
// Fecha a área de trabalho
DBCloseArea()
// Desconecta do SGBD
TCUnlink( nHandle )
return
|