Tempo aproximado para leitura: 00:01:00 min
Dúvida
Como utilizar uma Query com apóstrofe na String em rotinas ADVPL ?
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) – ADVPL– A partir da versão 11.80
Solução
Ao utilizar querys com apóstrofe em comandos ADVPL irá apresentar erros de estrutura, para esta correção deverá um incluir mais uma aspas simples na String, exemplo:
Local cMunCli := "SANTA BARBARA D'OESTE"
deverá ficar
Local cMunCli := "SANTA BARBARA D''OESTE"
Exemplo de um fonte.
#include 'totvs.ch'
#INCLUDE "TBICONN.CH"
#INCLUDE "topconn.ch"
user Function TSTTquery
Local cMunCli := "SANTA BARBARA D''OESTE"
Local cUFCli := "SP"
Local cQuery := ""
Local cSql := ""
PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01"
cMunCli := "SANTA BARBARA D''OESTE"
cUFCli := "SP"
cQuery := " Select CC2_CODMUN From " + RetSqlName("CC2") + " "
cQuery += " Where CC2_EST = '"+UPPER(cUFCli)+"' "
cQuery += " And CC2_MUN LIKE '%"+cMunCli+"%' "
cQuery += " And D_E_L_E_T_= ' ' "
If ChkFile("_MUN")
DbSelectarea("_MUN")
Dbclosearea()
Endif
TcQuery cQuery New Alias "_MUN"
Return nil
0 Comentários