Árvore de páginas

Insere ou Atualiza o valor de uma "chave" tanto na "Tabela X" quanto na "Tabela A" de uma determinada sessão, mas não faz bloqueio da "chave" <cChave> (Dirty).

Sintaxe

 

VarSetD
lRet:= VarSetD( <cUID>, <cChave>, <xValor>, <aValor> )

Parâmetros

NomeTipoDescriçãoObrigatórioReferênciaObservações
cUIDCaractere

Identificador da sessão de Variáveis Globais

X  
cChaveCaractereIdentificador da chaveX  
xValorNumérico / Caractere / Data / LógicoVariável onde será armazenado o valor da chave ("Tabela X")X  
aValorArrayVariável onde será armazenado o valor da chave ("Tabela A")X  

Retorno

NomeTipoDescriçãoObservações
lRetLógico

Indica se conseguiu armazenar os valores da chave <cChave> na sessão <cUID> para qualquer uma das tabelas

Retorna .T. se a função foi executada corretamente e se houver algum erro retorna .F.

Observações

  Ver as observações de "VarSetXD" e "VarSetAD" para ver as opções de gravação e retorno.

Como esta função não faz o bloqueio da chave esta função sempre irá recuperar o valor, mesmo que uma transação esteja em curso.

Por conta de não fazer bloqueio na chave esta função é mais rápida que a função "VarSet" , ou seja, se os seus "Jobs/Threads" não tiverem a necessidade de fazer uma transação, de preferência para o uso desta função.

(aviso) Disponível em Build igual ou superior a 7.00.131227A

Exemplos

Exemplo 

User Function exemplo()
  Local cMyUID := "teste_UID_RL"
  Local cChave := "chave"
  Local nValor := 32
  Local aValor := {1, 2, 3}
  Local lRet := .F.
     
  lRet := VarSetUID(cMyUID, .T.)
  If(!lRet)
    ConOut("Erro na criação da sessão: " + cMyUID)
  EndIf
    
  lRet := VarSetD(cMyUID, cChave, nValor, aValor)
  If(!lRet)
    ConOut("Erro na atualização da chave: " + cChave)
  EndIf
   
  nValor := 7
  aValor := {4, 5}
   
  lRet := VarGetD(cMyUID, cChave, @nValor, @aValor)
  If(!lRet)
    ConOut("Erro na recuperação da chave: " + cChave)
  Else
    ConOut("Achou a chave: " + cChave + " valor (tab x): " + AllTrim(Str(nValor)))
    ConOut("Achou a chave: " + cChave + " valor (tab a): " + AllTrim(Str(Len(aValor))))
  EndIf
Return .T.
  • Sem rótulos