Reading time: 1 minute
Olá, no post de hoje iremos aprender como executar instruções SQL com TCSQLExec no ADVPL, instruções como UPDATE e INSERT. TCSQLExec é 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 em ADVPL:
#include 'protheus.ch'
#include "tbiconn.ch"
/*{Protheus.doc} User Function PTCSQLEx
(Essa função tem por finalidade mostrar a função TCSQLExec no ADVPL)
@type Function
@author Adilio Costa
@since 09/07/2023
@version 12.1.2210
Acesse e se inscreva no Blog/Site ProtheusAdvpl para receber conteúdo:
www.protheusadvpl.com.br
Se inscreva no Canal do ProtheusAdvpl para receber vídeos:
https://wwww.youtube.com/protheusadvpl
Siga-nos no Instagram:
http://https://www.instagram.com/protheusadvpl
Siga a página do ProtheusAdvpl no Facebook:
https://www.facebook.com/protheusadvpl2
Conheça o Portal ProtheusAdvpl:
https://hotmart.com/pt-br/marketplace/produtos/portal-protheusadvpl/O10336806O
Post:Como Executar Instruções SQL com TCSQLExec no ADVPL
*/
User Function PTCSQLEx()
Local cCodFor := "000010"
Local cNovoNome := "Portal ProtheusAdvpl"
Local nRet := 0
Local cQuery := "UPDATE "+RetSQLName("SA2") + " "
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
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/