FWPreparedStatement
FWPreparedStatement():New([cQuery])Associa valores tipados a parâmetros de uma consulta.
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.)
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()
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 NilObjeto 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.
- 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.

Comentários
Ainda não há comentários aprovados.
Entre com Google ou Microsoft para comentar.