|
Página 1 de 1
|
Problema Con Los Apóstrofes
Autor |
Mensaje |
jsoto61
Aprendiz
Registrado: Octobre 2009
Mensajes: 94
Edad: 62 Ubicación: Las Palmas
|
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
|
#1 Jueves, 18 Marzo 2010, 09:43 |
|
|
bies88
Aprendiz
Registrado: Diciembre 2009
Mensajes: 51
Edad: 45
|
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.
|
#2 Jueves, 18 Marzo 2010, 13:57 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: Granada
|
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"
|
#3 Jueves, 18 Marzo 2010, 16:26 |
|
|
jsoto61
Aprendiz
Registrado: Octobre 2009
Mensajes: 94
Edad: 62 Ubicación: Las Palmas
|
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.
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
|
#4 Jueves, 18 Marzo 2010, 22:10 |
|
|
jsoto61
Aprendiz
Registrado: Octobre 2009
Mensajes: 94
Edad: 62 Ubicación: Las Palmas
|
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
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
|
#5 Jueves, 18 Marzo 2010, 22:57 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: Granada
|
Re: Problema Con Los Apóstrofes
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"
|
#6 Jueves, 18 Marzo 2010, 23:12 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
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
|
|
|
|
|