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.