Problema Con Los Apóstrofes


Objetivo: 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

Perfil MP  
Objetivo: 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.

Perfil MP  
Objetivo: 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

Perfil MP  
Objetivo: 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
Perfil MP  
Objetivo: 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
Perfil MP  
Objetivo: 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

Perfil MP  

Página 1 de 1


  
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

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.0928s (PHP: -25% SQL: 125%)
Consultas SQL: 25 - Debug off - GZIP Activado