Usina BRAdvPL Guia
Entrar
← Todos os tópicos
CLASSEEm revisão

FWPreparedStatement

FWPreparedStatement():New([cQuery])

Associa valores tipados a parâmetros de uma consulta.

FWPreparedStatementAdvPL
01 · VISÃO GERAL

Visão geral

SetQuery recebe marcadores ? e SetString/SetDate/SetNumeric tratam posições iniciadas em 1. GetFixQuery devolve SQL com valores tratados e substituídos; não executa a consulta por si só. Identificadores de tabela não são valores e exigem origem controlada; SetUnsafe não deve receber entrada HTTP. O exemplo público de thalysjuvenal mostra esse padrão com cadastros: a adaptação apenas prepara SELECT de tabela didática, sem executar SQL ou acessar dados. Sua orientação de ausência de expansão nativa de listas não deve ser tomada como universal, pois a ficha TDN documenta SetIn. (Fontes: refs. 1–2.)

02 · SINTAXE

Sintaxe

FWPreparedStatement():New([cQuery])

Métodos

SetQueryDefine SQL com marcadores ?.o:SetQuery(cQuery)
SetStringValor textual sem acrescentar aspas SQL manualmente.o:SetString(nParam,cValue)
GetFixQueryObtém consulta tratada; não confundir com execução.o:GetFixQuery() --> cQuery
DestroyLibera o objeto do statement.o:Destroy()
03 · EXEMPLO PRÁTICO

Exemplo comentado

#Include "Protheus.ch"

User Function Ed444()
    Local oConsulta := FWPreparedStatement():New()
    // Tabela didatica; somente prepara, nao executa.
    oConsulta:SetQuery("SELECT ED_CODE FROM ED_TEST WHERE ED_CODE = ?")
    oConsulta:SetString(1,"ED01")
    // Nenhum ExecuteQuery ou TCSqlExec.
    oConsulta:Destroy()
Return Nil
Resultado esperado

Objeto com um parâmetro tratado e depois destruído; nenhuma consulta executada. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

BOAS PRÁTICAS
  • Conferir versão da LIB, ciclo de vida e contexto antes de integrar à rotina completa. Métodos apresentados constituem um recorte documentado, não a API completa.
  • Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Conteúdos relacionados

REFERÊNCIAS
  1. TOTVS. FWPreparedStatement. TDN. Consulta em 2026-10-27.
  2. thalysjuvenal/advpl-specialist. patterns-fwpreparedstatement.md, commit d80599b75e30e7f559218b453d72b84999f138a4. Referência e exemplos analisados. Consulta em 2026-10-27.
Situação
Em revisão
Página criada em
Última revisão em
Idioma original
Português
Revisão
Usina.BR
0 comentário(s) aprovado(s)

Comentários

Ainda não há comentários aprovados.

Entre com Google ou Microsoft para comentar.

Powered by Usina Docs · Alpha