Page 1 of 1

Problemas con comillas en cadena mysql (Solucionado)

PostPosted: Fri Jun 11, 2021 4:04 pm
by leandro
Buenas tardes para todos

Como dice el encabezado, hace un tiempo me había dado cuenta que al intentar registrar una cadena de texto que contenga una comilla simple (para este caso), se reventaba la aplicación, en ese momento lo solucione reemplazando la comilla simple por la comilla de la tilde, pero resulta que tengo un usuario que necesita registrar en la base de datos ese carácter.

El tema es que al intentar hacer el registro en la base de datos, este confunde el cierre de la comilla del cierre de la instrucción.

Code: Select all  Expand view

cVaria := "P' LANTA PISCINA"
cSql : "INSER INTO table descripcion VALUES ( ' "+cVaria+" ' )" //Se revienta por que se confunde la comilla de la cadena con la del cierre de la instrucción.
 


Espero haberme hecho entender, de antemano gracias.

Re: Problemas con comillas en cadena mysql

PostPosted: Fri Jun 11, 2021 4:28 pm
by jbrita
Hola.. Leandro no sera que tienes mal escrito INSER que seris INSERT

saludos

Re: Problemas con comillas en cadena mysql

PostPosted: Fri Jun 11, 2021 7:47 pm
by cmsoft
Hola Leandro.
Podes probar asi:
cVaria := STRTRAN(cVaria,"'","\'")
Code: Select all  Expand view

cVaria := "P' LANTA PISCINA"
cVaria := STRTRAN(cVaria,"'","'") // aca va la barra \ y despues la comilla simple, no lo muestra bien en el foro
cSql := "INSERT INTO table descripcion VALUES ( ' "+cVaria+" ' )" //Se revienta por que se confunde la comilla de la cadena con la del cierre de la instrucción.

Re: Problemas con comillas en cadena mysql

PostPosted: Fri Jun 11, 2021 9:55 pm
by leandro
Amigo Cesar,

Excelente, muchas gracias por le dato funciono a la perfección :D

Re: Problemas con comillas en cadena mysql (Solucionado)

PostPosted: Fri Jun 11, 2021 10:18 pm
by cmsoft
Me alegro mucho Leandro!

Re: Problemas con comillas en cadena mysql (Solucionado)

PostPosted: Sat Jun 12, 2021 3:25 pm
by anserkk
Did you try ?

Code: Select all  Expand view
cVaria := "P' LANTA PISCINA"
TEXT INTO cSql
   INSER INTO table descripcion VALUES ( ? )
ENDTEXT
cSql := FW_AdoApplyParams( cSql, { cVaria } )
? cSql