Como usar o IN no FWPreparedStatement | Ti Responde 0171

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.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

Deixe uma resposta

Terminal de Informação