Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Problema Con Los Apóstrofes
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Problema Con Los Apóstrofes 
 
Me he percatado de un problema que tiene la aplicación que estoy desarrollando y es que no puedo insertar ningún registro en la base de datos MySQL si el contenido de un campo tiene un apóstrofé (').

Así pues, no puedo incluir frases como: I'm looking.... (por ejemplo)

Por el contrario, si intento incluir dicha cadena "directamente" en la base de datos, si me lo permite.

A alguien se le ocurre algo?.

Gracias de antemano
 



 
jsoto61 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Con Los Apóstrofes 
 
Hola.
Cuando dices que no puedes incluir directamente, ¿te refieres con un insert?
Y cuando dices que puedes incluirlo directamente, ¿a qué te refieres?
Saludo.
 



 
bies88 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Con Los Apóstrofes 
 
¿Has probado a escaparla anteponiendo una \ delante de la comilla?  "I\'m looking"

También habría que saber si el valor lo almacenas en una variable string o lo tipeas directamente en el código.

No obstante, la mejor forma es usar siempre los argumentos opcionales del método Exec con los comodines:

result = cn.Exec("INSERT INTO mibasedatos SET micampo = &1", miVariableConApostrofe)


Esto hace que se trate la variable conforme a su tipo, e internamente se crea la sintaxis correcta que se envía al motor de la base de datos.
Se pueden usar tantos comodines y argumentos como sea necesario, independientemente del tipo, &1, &2, etc

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Con Los Apóstrofes 
 
bies88 escribió: [Ver mensaje]
Hola.
Cuando dices que no puedes incluir directamente, ¿te refieres con un insert?
Y cuando dices que puedes incluirlo directamente, ¿a qué te refieres?
Saludo.


Me refiero a que si utilizo alguna otra aplicación como MySQL Browser puedo incluir los apostrofes sin problema, por lo que descarto que el origen de dicho problema se MySQL.
El problema lo tengo cuando utilizo una variable del tipo string con una cadena que contiene el apóstrofe, en este caso se desencadena el error cuando la sentencia es del tipo:


"INSERT INTO baseDatos (campo1, campo2) VALUES ('" & TextArea1.Text & "', '" & TextArea2.Text & "')"
 



 
última edición por jsoto61 el Jueves, 18 Marzo 2010, 22:53; editado 2 veces 
jsoto61 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Con Los Apóstrofes 
 
jguardon escribió: [Ver mensaje]
¿Has probado a escaparla anteponiendo una \ delante de la comilla?  "I\'m looking"

También habría que saber si el valor lo almacenas en una variable string o lo tipeas directamente en el código.

No obstante, la mejor forma es usar siempre los argumentos opcionales del método Exec con los comodines:

result = cn.Exec("INSERT INTO mibasedatos SET micampo = &1", miVariableConApostrofe)


Esto hace que se trate la variable conforme a su tipo, e internamente se crea la sintaxis correcta que se envía al motor de la base de datos.
Se pueden usar tantos comodines y argumentos como sea necesario, independientemente del tipo, &1, &2, etc

Saludos


Entiendo que has querido decirme:

result = cn.Exec("UPDATE mibasedatos SET micampo = &1", miVariableConApostrofe)


y ¿cómo sería la sentecia para dos o más campos?, ¿así?

result = cn.Exec("UPDATE mibasedatos SET campo1 = &1, campo2 =&2", str1, str2)



gracias de antemano
 



 
última edición por jsoto61 el Jueves, 18 Marzo 2010, 23:05; editado 2 veces 
jsoto61 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Con Los Apóstrofes 
 
jsoto61 escribió: [Ver mensaje]


Entiendo que has querido decirme:

result = cn.Exec("UPDATE mibasedatos SET micampo = &1", miVariableConApostrofe)


y ¿cómo sería la sentecia para dos o más campos?, ¿así?

result = cn.Exec("UPDATE mibasedatos SET campo1 = &1, campo2 =&2", str1, str2)



gracias de antemano


Correcto! Me equivoqué con el INSERT y el UPDATE

para el INSERT:

result = cn.Exec("INSERT INTO baseDatos (campo1, campo2) VALUES (&1, &2)", variable1, variable2)


Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Problema Tutorial arkyansoul Controles/Librerías/Componentes 6 Miercoles, 20 Octobre 2010, 13:13 Ver último mensaje
jsbsan
No hay nuevos mensajes Problema Con Ciclos cyberx0x General 0 Sabado, 13 Noviembre 2010, 18:04 Ver último mensaje
cyberx0x
No hay nuevos mensajes Problema Con La Tecla De F1 Shell Instalación 4 Jueves, 09 Febrero 2012, 01:11 Ver último mensaje
Shell
No hay nuevos mensajes Problema Con FileView shordi Controles/Librerías/Componentes 0 Viernes, 25 Septiembre 2015, 10:36 Ver último mensaje
shordi
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron