Page tree
Skip to end of metadata
Go to start of metadata

Sintaxe completa 

TCQUERY <cSqlExpr> ALIAS <cAlias> [ NEW ] 

Include

#include 'topconn.ch'

Parâmetros

CláusulaTipoObrigatórioDescrição
<cSqlExpr>CSExpressão caractere, constante ou variável, que contém uma Query a ser executada em um banco de dados relacional através da RDD TOPCONN. 
ALIAS <cAlias> CNExpressão caractere, constante ou variável, que contém o nome do Alias – ou apelido – que a query será aberta. 
NEW
NCaso especificado, indica que uma nova área de trabalho (WorkArea) deve ser criada para a abertura da tabela. Caso não especificado, a área de trabalho atual será usada, e se houver uma tabela aberta na área de trabalho atual, a mesma será fechada.
  • A sintaxe mínima do comando TCQUERY apenas poderia suprimir a cláusula NEW, que recomendamos utilizar sempre ao abrir qualquer tabela ou Query em AdvPL, para evitar fechamentos indesejados da WorkArea atual.
  • Como a chamada do comando é traduzida em tempo de compilação para a função DBUseArea(), em conjunto da Função TCGenQry(), com os parâmetros necessários para a abertura de uma Query. 
  • Veja as outras formas de abertura da mesma Query em AdvPL, usando sintaxes distintas ou mesmo a chamada direta de funções. Sem dúvida usar o comando TCGENQRY é mais fácil. 

Exemplos


#include 'totvs.ch'
#include 'topconn.ch'

// O exemplo abaixo abre uma Query em um alias chamado QRY, 
// e imediatamente fecha a Query.

User Function TcQuery()
Local cQuery := 'SELECT * FROM AGENDA'

tclink()

// Usando o comando TCQUERY 
TCQUERY (cQuery) ALIAS QRY NEW
USE

// Usando o comando USE com a função TCGenQry()
USE (TcGenQry(,,cQuery)) ALIAS QRY EXCLUSIVE NEW VIA "TOPCONN"
USE

// Chamando diretamente a função DbUseArea()
// No final das contas, os comandos acima acabam sendo traduzidos
// internamente para as chamadas das funções abaixo:
DbUseArea( .T. , 'TOPCONN' , TcGenQry( ,, cQuery) , "QRY" , .T. , .T. )
DbCloseArea()

Return

  • No labels