Árvore de páginas

Versões comparadas

Chave

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

Pagetitle

...

TCRefresh

...

...

...

TCRefresh

Atualiza

...

as

...

definições

...

globais

...

de

...

uma

...

tabela

...

no

...

cache

...

de

...

definições

...

do

...

DBAccess.

Sintaxe

Bloco de código
collapsefalse
TCRefresh( <
cTabela> ) --> NIL
 cTable > )

Parâmetros

...

Nome

Tipo

Descrição

Obrigatório

Referência

...

cTable

...

caractere

Indica o nome da tabela para atualizar o cache de definições do DBAccess.

X

 

Retorno

...

Nome

Tipo

Descrição

uRet

nil

Esta função sempre retorna nulo.

Observações

...

Nota
icontrue
titleAtenção

A utilização desta função é para fins específicos, em aplicações onde isto realmente é necessário. Chamar a função TCRefresh() desnecessariamente em uma aplicação pode prejudicar a performance da mesma.

O DBAccess mantém um cache de definições de estruturas de tabelas em uso (estruturas de campos, índices e controle de numeração), para as tabelas abertas pelo sistema. Este cache é criado à medida que novas tabelas são abertas, e otimiza a abertura de tabelas da aplicação, uma vez que qualquer alteração estrutural na tabela ou suas definições é feita utilizando demais funções da RDD através

...

do DBAccess, ele mesmo atualiza os caches internos de estruturas.

Caso um programa realize instruções de alteração estruturas ou índices

...

diretamente nas tabelas do banco,

...

mediante a função TCSQLExec()

...

ou procedures por exemplo, e pode ser necessário solicitar

...

ao DBAccess que ele atualize o cache global com as novas definições da tabela. Neste caso, utiliza-se a função TCRefresh().

Internamente, a obtenção das definições de campos, índices e tratamentos adicionais de uma tabela de dados do DBAccess consiste em executar queries montadas dinamicamente para obter do banco de dados as definições das colunas e índices da tabela em questão, depois obter as definições complementares registradas na TOP_FIELD, atualizar o número do último registro físico (R_E_C_N_O_

...

)

...

da tabela em memória, para o controle de inserções. Ao executarmos a função TCRefresh(), informando o nome da tabela, o DBAccess vai recriar a definição estrutural desta tabela no cache de estruturas do DBAccess.

A utilização desta função é para fins específicos, em aplicações onde isto realmente é necessário. Chamar a função TCRefresh() desnecessariamente em uma aplicação pode prejudicar a performance da mesma.

Exemplos

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
USER FUNCTION TEST()
  TcLink()
  
  DBCreate("TABLE_NAME", {{"FIELD_NAME", "C", 10, 0}, ;
                  {"FIELD_AGE", "C", 10, 0}}, "TOPCONN")
  
  TCSqlExec("ALTER TABLE TABLE_NAME RENAME COLUMN FIELD_NAME TO FIELD_NEW_NAME")
  
  TCRefresh("TABLE_NAME")
  
  TcUnlink()
RETURN

Veja também

cTable := RetSqlName("SA1")TcRefresh( cTable )
Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server

...