Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Composition Setup
import.css=/download/attachments/6062824/tecnologia.css

Pagetitle
DBUseArea
DBUseArea

Abre uma tabela de dados na área de trabalho atual ou na primeira área de trabalho disponível.

Sintaxe

Bloco de código

...

collapse

...

false

...

DBUseArea( [

...

 lNewArea ]

...

, [

...

 cDriver ], 

...

< 

...

cFile >, < 

...

cAlias >, [

...

 lShared ]

...

, [

...

 lReadOnly ] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

...

lNewArea

...

lógico

Caso verdadeiro, indica que a tabela deve ser aberta em uma nova workarea (Default=.F.)

...

 

...

Caso o parâmetro seja .F. ou não especificado (NIL), a tabela será aberta na workarea atual, Caso já exista uma tabela aberta na WorkArea atual, a mesma é fechada.

 

cDriver

caractere

...

Informa o Driver (RDD) a ser utilizada para a abertura da tabela. Caso não especificado (NIL), será usado o driver default de acesso a arquivos locais.

...

 

...

 

cFile

caractere

Nome da arquivo/

...

tabela a ser aberta. Caso o driver utilizado acesse tabelas no sistema de arquivos, deve ser informado um path no servidor de aplicação. Não é possível abrir tabelas de dados no SmartClient.

...

X

 

cAlias

caractere

Nome dado ao ALIAS desta tabela, para ser referenciado no programa Advpl.

X

 

lShared

lógico

Caso verdadeiro, indica que a tabela deve ser aberta em modo compartilhado, isto é, outros processos também poderão abrir esta tabela.

 

 

lReadOnly

lógico

Caso verdadeiro, indica que este alias será usado apenas para leitura de dados. Caso contrário, estas operações serão permitidas.

 

 

Retorno

Nome

Tipo

Descrição

uRet

nil

Retorno sempre é nulo.

Observações

  • lNewArea - Caso o parâmetro seja .F. ou não especificado (NIL), a tabela será aberta na workarea atual, Caso já exista uma tabela aberta na WorkArea atual, a mesma é fechada.
  • cDriver - Verifique a lista de drivers disponíveis no final deste documento.
  • cFile - Quando utilizada a RDD "TOPCONN", caso seja desejada a abertura de uma Query no SGDB, devemos passar como 3o parâmetro o retorno da função TcGenQry(), onde informamos a string contendo a Query como terceiro parâmetro da função TcGenQry()
  • cAlias

...

  • - Em um mesmo processo, duas tabelas não podem ser abertas sob o mesmo ALIAS. Porém, a mesma tabela pode ser aberta mais de uma vez com um ALIAS diferente.

...

  • lShared - Uma tabela aberta em modo exclusivo por um processo não consegue ser aberta em modo algum por nenhum outro processo, A abertura em modo compartilhado pode falhar caso exista algum processo com a tabela aberta em modo exclusivo

...

  • lReadOnly - Um alias aberto em modo de leitura não permite operações de inclusão, alteração ou exclusão de dados.

Exemplos

...

Bloco de código
language

...

cpp

...

theme

...

Eclipse

...

linenumbers

...

true

...

Esta função sempre retorna NIL

...

Observações

 

Exemplos

Exemplo 
Toggle Cloak
exclusivetrue

...

visibletrue

...

No exemplo acima, podemos substituir a chamda direta da função DBUseArea() para utilizar o comando USE. Com isso o programa fica mais legível. Como o comando USE trata os parâmetros de Driver, Nome da tabela e alias como "literais", a utilização de variáveis para estes parâmetros deve ser informada ao comando entre parênteses. Vide exemplo abaixo:

USE (cArqTrab) ALIAS TRB EXCLUSIVE NEW 

 

collapsefalse
FUNCTION Example()
  Local cT1 := "T1"
  
  TCLink()
  
  DBCreate("T1", {{"FIELD_NAME", "C", 10, 0}, ;
                  {"FIELD_TYPE", "C", 10, 0}}, "TOPCONN")
                  
  DBUseArea(.F., 'TOPCONN', cT1, (cT1), .F., .T.)

  if Alias() == cT1
    conout("current workarea: " + cT1)
  endif
  
  // TODO: something
  
  DBCloseArea()
  
  TCUnlink()
RETURN

Veja também

Veja também

...