Tempo de leitura: 2 minutos
A função TCSQLExec em ADVPL é usada para executar instruções SQL diretas (como SELECT, INSERT, UPDATE, DELETE) em bancos de dados compatíveis com o TopConnect (como SQL Server, Oracle, PostgreSQL, etc.). Ela é uma das funções de acesso e manipulação de banco de dados no Protheus e tem por objetivo executar uma instrução de sintaxe SQL(Structured Query Language) diretamente no banco de dados em que está conectado.
Sintaxe:
TCSQLExec(<cQuery>)
Parâmetro(s):
Retorno:
Exemplo da função TCSQLExec em ADVPL:
//Bibliotecas
#Include "Protheus.ch"
#INCLUDE "TBICONN.CH"
#INCLUDE "topconn.ch"
#include "TOTVS.CH"
#include 'rwmake.ch'
/*/{Protheus.doc} fTCSExec
Exemplo da função TCSQLExec em ADVPL
@type function
@author Adilio Costa
@since 09/07/2023
@version 1.0
@?Inscreva-se no Blog ProtheusAdvpl:
https://www.protheusadvpl.com.br
@?Inscreva-se no Canal ProtheusAdvpl:
https://www.youtube.com/protheusadvpl
@?Siga-nos no Instagram:
https://www.instagram.com/protheusadvpl
@?Conheça os Cursos e Formações do ProtheusAdvpl:
https://cursos-e-formacoes-protheusadvpl.gr-site.com/
@Participe de nossas comunidades no WhatsApp:
-Comunidade Protheus Backoffice:https://chat.whatsapp.com/KMUIAjwZ6EZ6eAHsLkPTyb
-Comunidade Protheus-RH:https://chat.whatsapp.com/L5dUyAna6xU4ylG5DUgfOW
-Comunidade Protheus-Programação:https://chat.whatsapp.com/LsD6z0apdqKHlOz67bcaEn
-Comunidade Protheus-Framework:https://chat.whatsapp.com/BzUFpjaSnTC3vtsfa77jmG
|Se esse conteúdo foi útil pra você nos ajude divulgando
ele e nossas redes sociais!!|
/*/
User Function fTCSExec()
Local aArea := GetArea()
Local cCodFor := "000010"
Local cNovoNome := "Portal ProtheusAdvpl"
Local nRet := 0
Local cQuery := ""
cQuery := "UPDATE "+RetSQLName("SA2") + "SA2 (NOLOCK) "
cQuery += " SET A2_NOME:='"+cNovoNome+"' WHERE A2_COD='"+cCodFor+"' AND D_E_L_E_T_='' "
//Executa a instrução SQL de cQuery
nRet := TCSQLExec(cQuery)
If(nRet < 0 )
MsgStop("Erro na execução da query:"+TcSqlError(), "Atenção")
Else
MsgAlert("O UPDATE da query "+cQuery+" foi executado com sucesso!")
EndIf
//Restaura a área
RestArea(aArea)
Return
Bem, finalizamos mais um post aqui no blog. Espero que você tenha entendido, qualquer dúvida nos envie um e-mail para adiliocosta@protheusadvpl.com.br. Grande abraço e fica com Deus.
Links de referência(s):
- https://tdn.totvs.com/display/tec/TCSQLExec
- https://terminaldeinformacao.com/2021/04/21/como-fazer-um-update-via-advpl/