Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Painel
bgColorWhite
titleFWTemporaryTable

Descrição

Classe para criação e manipulação de tabelas temporárias no BD


Compatível Países:

Todos

Sistemas Operacionais:

Todos

Compatível às Bases de Dados:

Todos

Nível de Acesso:

Nível 1 (Acesso Clientes)

Idiomas:

Português, Inglês, Espanhol

Versão/Release

12.1.5

Nota
titlePré-requisito

TOTVS|DBAccess 4.2 Server com build igual ou superior à 20141119 (Mar 12 2015).

Painel
titleNew

Sintaxe

FWTemporaryTable():New( [<cAlias>], [<aFields>] )-> Objeto FWTemporaryTable


Descrição

Método para instanciar a classe


Parâmetros


Nome

Tipo

Descrição

Default

Obrigatório

Referência

cAlias

Caracter

Alias a ser utilizado pela tabela.

GetNextAlias



aFields

Array

Array com estrutura de campos:
[1] Nome
[2] Tipo
[3] Tamanho
[4] Decimal

{}



Painel
titleCreate

Sintaxe

FWTemporaryTable():Create()


Descrição

Método responsável pela criação da tabela


Painel
titleDelete

Sintaxe

FWTemporaryTable():Delete()


Descrição

Método responsável por efetuar a exclusão da tabela, e fechar o alias


Retorno

Retorna um Logical conforme a deleção da tabela ser sido efetuada corretamente

Painel
titleAddIndex

Sintaxe

FWTemporaryTable():AddIndex( <cIndexName>, <aFields> )


Descrição

Adiciona um índice na tabela. 


Parâmetros

Nome

Tipo

Descrição

Default

Obrigatório

Referência

cIndexName

Caracter

Nome do índice com no máximo 2 caracteres



aFields

Array

Array com os campos a serem utilizados no índice:
[1] Nome



Painel
titleGetRealName

Sintaxe

FWTemporaryTable():GetRealName() -> cRealName


Descrição

Retorna o nome com o qual a tabela foi criada no BD. 

Painel
titleGetAlias

Sintaxe

FWTemporaryTable():GetAlias( ) -> cAlias


Descrição

Retorna o alias utilizado pelo arquivo.

Painel
titleSetFields

Sintaxe

FWTemporaryTable():SetFields( <aFields> )


Descrição

Define os campos da estrutura.

Nome

Tipo

Descrição

Default

Obrigatório

Referência

aFieldsArray

Array com estrutura de campos:
[1] Nome
[2] Tipo
[3] Tamanho
[4] Decimal


X


Fonte de exemplo: ExFWTemporaryTable.prw
Bloco de código
languagecpp
themeEclipse
firstline1
titleExemplo
linenumberstrue
collapsetrue
#include 'protheus.ch'
User Function ExFWTemporaryTable()
Local aFields := {}
Local oTempTable
Local nI
Local cAlias := "MEUALIAS"
Local cQuery
//-------------------
//Criação do objeto
//-------------------
oTempTable := FWTemporaryTable():New( cAlias )
//--------------------------
//Monta os campos da tabela
//--------------------------
aadd(aFields,{"DESCR","C",30,0})
aadd(aFields,{"CONTR","N",3,1})
aadd(aFields,{"ALIAS","C",3,0})
oTemptable:SetFields( aFields )
oTempTable:AddIndex("01", {"DESCR"} )
oTempTable:AddIndex("02", {"CONTR", "ALIAS"} )
//------------------
//Criação da tabela
//------------------
oTempTable:Create()

//------------------------------------
//Executa query para leitura da tabela
//------------------------------------
cQuery := "select * from "+ oTempTable:GetRealName()
MPSysOpenQuery( cQuery, 'QRYTMP' )
DbSelectArea('QRYTMP')
while !eof()
	for nI := 1 to fcount()
		varinfo(fieldname(nI),fieldget(ni))
	next
	dbskip()
Enddo
	
//---------------------------------
//Exclui a tabela 
//---------------------------------
oTempTable:Delete() 

return