No vídeo de hoje, vamos demonstrar em como usar a expressão IN dentro da FWPreparedStatement.
A dúvida de hoje, nos perguntaram, se seria possível utilizar a expressão IN do SQL direto na classe FWPreparedStatement.
Pensando nisso, montamos um exemplo, onde vamos demonstrar em como usar o método SetIn dessa classe.
Segue abaixo o vídeo exemplificando:
E abaixo o código fonte desenvolvido:
//Bibliotecas
#Include "tlpp-core.th"
//Declaração da namespace
Namespace custom.terminal.youtube
/*/{Protheus.doc} User Function video0171
Exemplo de como testar o IN com FWPreparedStatement
@type Function
@author Atilio
@since 17/06/2023
@example custom.terminal.youtube.u_video0171()
/*/
User Function video0171()
Local aArea := FWGetArea() As Array
Local oPreparedQuery := Nil As Object
Local cOriginalQuery := "" As Character
Local cNewQuery := "" As Character
//Prepara a query original
cOriginalQuery := "SELECT * FROM " + RetSQLName("SB1") + " SB1 WHERE B1_TIPO IN ( ? ) AND B1_LOCPAD = ? AND SB1.D_E_L_E_T_ = ' '"
//Começa a montar a query
oPreparedQuery := FWPreparedStatement():New()
//Define a query e define o conteúdo das interrogações
oPreparedQuery:SetQuery(cOriginalQuery)
oPreparedQuery:SetIn(1, {"PA", "PI", "MP"})
oPreparedQuery:SetString(2, "01")
//Busca a query formatada
cNewQuery := oPreparedQuery:GetFixQuery()
ShowLog(cNewQuery)
RestArea(aArea)
Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.