No vídeo de hoje, vamos demonstrar em como pegar um campo no SQL e trazer o conteúdo dele como Date.
A dúvida de hoje, nos perguntaram, que ao executar uma query, o campo não vem formatado como Data (DD/MM/YYYY).
Pensando nisso, montamos um exemplo, onde vamos mostrar a utilização da função TCSetField para transformar de caractere para data.
Segue abaixo o vídeo exemplificando:
E abaixo o código fonte desenvolvido:
//Bibliotecas #Include "tlpp-core.th" #Include "TopConn.ch" //Declaração da namespace Namespace custom.terminal.youtube //Constantes #Define CRLF Chr(13) + Chr(10) //Carriage Return Line Feed /*/{Protheus.doc} User Function video0182 Exemplo de como transformar uma coluna no tipo Data @type Function @author Atilio @since 21/06/2024 @example custom.terminal.youtube.u_video0182() /*/ User Function video0182() Local aArea := FWGetArea() As Array Local cQuery := "" As Character Local cMessage := "" As Character //Monta uma query simples, buscando informações da SC5, pegando um campo de Data cQuery += " SELECT TOP 5 " + CRLF cQuery += " C5_EMISSAO AS DTEMIS " + CRLF cQuery += " FROM " + CRLF cQuery += " " + RetSQLName("SC5") + " SC5 " + CRLF cQuery += " WHERE " + CRLF cQuery += " C5_FILIAL = '" + FWxFilial("SC5") + "' " + CRLF cQuery += " AND SC5.D_E_L_E_T_ = ' ' " + CRLF TCQuery cQuery New Alias "QRY_SC5" //Vamos ver como que está o conteúdo cMessage += "Tipo: " + ValType(QRY_SC5->DTEMIS) + " | Conteúdo: " + QRY_SC5->DTEMIS + CRLF //Será transformado no tipo Data, e vamos incrementar a mensagem TCSetField("QRY_SC5", "DTEMIS", "D") cMessage += "Tipo: " + ValType(QRY_SC5->DTEMIS) + " | Conteúdo: " + dToC(QRY_SC5->DTEMIS) + CRLF //Exibe a mensagem ShowLog(cMessage) QRY_SC5->(DbCloseArea()) FWRestArea(aArea) Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.