cSqlExprExpressão, constante ou variável caractere contendo uma consulta SELECT a ser executada pelo TOPCONN.
AdvPL GuiaTCQUERY <cSqlExpr> ALIAS <cAlias> [NEW]Executa uma consulta SELECT pela RDD TOPCONN e abre o resultado em uma WorkArea AdvPL.
TCQUERY abre o resultado de uma consulta SQL de leitura em um alias AdvPL usando a RDD TOPCONN. O comando é traduzido em compilação para operações baseadas em DbUseArea() e TCGenQry(). A cláusula NEW deve ser preferida para criar uma nova WorkArea e evitar o fechamento involuntário da área corrente. O cursor resultante é voltado à leitura sequencial e não deve ser tratado como uma tabela ISAM editável.
TCQUERY <cSqlExpr> ALIAS <cAlias> [NEW]cSqlExprExpressão, constante ou variável caractere contendo uma consulta SELECT a ser executada pelo TOPCONN.
ALIAS cAliasNome do alias em que o result set será aberto. Pode ser literal ou expressão.
NEWAbre a consulta em uma nova WorkArea. A documentação oficial recomenda seu uso para evitar o fechamento da área corrente.
Não retorna um valor diretamente. O resultado da consulta fica disponível no alias informado como um cursor de leitura.
#Include "TOTVS.ch"
#Include "TopConn.ch"
User Function ExTCQuery()
Local cAlias := GetNextAlias()
Local cQuery := ""
// A1_COD = código, A1_NOME = nome e A1_FILIAL = filial.
// D_E_L_E_T_ é o campo técnico de controle de exclusão lógica.
cQuery := "SELECT A1_COD, A1_NOME "
cQuery += "FROM " + RetSqlName("SA1") + " "
cQuery += "WHERE A1_FILIAL = '" + xFilial("SA1") + "' "
cQuery += "AND D_E_L_E_T_ = ' ' "
cQuery += "ORDER BY A1_COD"
// ChangeQuery() adapta a instrução aos bancos homologados quando necessário.
cQuery := ChangeQuery(cQuery)
// NEW preserva a WorkArea que estava corrente antes desta consulta.
TCQUERY (cQuery) ALIAS (cAlias) NEW
While !(cAlias)->(Eof())
ConOut((cAlias)->A1_COD + " - " + (cAlias)->A1_NOME)
(cAlias)->(DbSkip())
EndDo
// O alias da query ocupa uma WorkArea e deve ser fechado ao terminar.
(cAlias)->(DbCloseArea())
ReturnA consulta usa o nome físico da SA1, filtra filial e exclusão lógica, abre um alias dinâmico em nova WorkArea e libera o cursor ao final.
#Include "TopConn.ch"
// Forma mais legível para abrir a consulta:
TCQUERY (cQuery) ALIAS QRY NEW
QRY->(DbCloseArea())
// Conceitualmente, TCQUERY combina a abertura TOPCONN com TCGenQry().
// A implementação interna pode evoluir; use a sintaxe documentada do comando.TCQUERY expressa de forma direta a intenção de abrir uma consulta como WorkArea, evitando que o código de aplicação dependa dos detalhes da abertura.
© 2026 Usina.BR. Todos os direitos reservados. TOTVS, Protheus, Microsiga e seus respectivos logotipos são marcas de seus titulares. O AdvPL Guia é independente e utiliza citações limitadas, atribuídas e justificadas por finalidade educativa. Consulte os Termos de Uso. Termos de Uso
Comentários
Ainda não há comentários aprovados.
Entre com Google ou Microsoft para comentar.