El mismo error '80040e14' en otro contexto

16/04/2007 - 14:22 por J. Enrique Alcaraz | Informe spam
Hola:

No sé lo que puede pasar pero a la hora de enviar el contenido de un
textarea a un campo memo de Access me da el siguiente error:

Microsoft JET Database Engine error '80040e14'

Error de sintaxis (falta operador) en la expresión de consulta ''<div
class="TitularRojoOscuro">Texto. Texto Texto Texto Texto Texto Texto
Texto</div> Texto Texto Texto Texto Texto Texto Texto"Textos entre comillas"
l'.

/Procesador.asp, línea 57

El texto incluye tags y comillas, pero unas veces lo acepta y otras no.
La línea de código es:

conTal.Execute ("INSERT INTO MiTabla (MiFecha, MiComentario) VALUES (#" &
miFechaYear & "/" & miFechaMonth & "/" & miFechaday & "#, '" &
strMiComentario & "')")

La verdad es que no sé lo que puede estar pasando pero cuando cambio este
texto por otro unas veces lo acepta y otras no lo acepta, ése es el
misterio, por lo tanto no sé a qué error de sintaxis se refiere ni a qué
operador, porque la línea de código creo que es correcta.
He leido el post anterior de Orgil con el mismo error pero no encuentro
ninguna posible palabra reservada en mi texto. Agradeceré a quien me pueda
ayudar.

Saludos al grupo.

Preguntas similare

Leer las respuestas

#1 Matias Iacono
16/04/2007 - 14:46 | Informe spam
El problema esta en las comillas.

Al concatenar el texto en la consulta sql, esto te da un resultado similar a:

INSERT INTO MiTabla (MiFecha, MiComentario) VALUES (#10/12/2007#, 'Texto con
comillas " ' mas texto')

Si por ejemplo, dentro de tu texto tienes alguna comilla, en tu caso,
simple, esta es interpretada como finalizacion del campo, y todo lo demas, el
SQL cree que es otro campo a tratar de inserta.

Lo que debes hacer es asegurarte que no exista esta inconcordancia. Antes de
hacer el insert, podrias remplazar, por ejemplo, todas las comillas simples,
por comillas dobles.

Saludos.

Microsoft MVP
Orador Regional INETA


"J. Enrique Alcaraz" wrote:


Hola:

No sé lo que puede pasar pero a la hora de enviar el contenido de un
textarea a un campo memo de Access me da el siguiente error:

Microsoft JET Database Engine error '80040e14'

Error de sintaxis (falta operador) en la expresión de consulta ''<div
class="TitularRojoOscuro">Texto. Texto Texto Texto Texto Texto Texto
Texto</div> Texto Texto Texto Texto Texto Texto Texto"Textos entre comillas"
l'.

/Procesador.asp, línea 57

El texto incluye tags y comillas, pero unas veces lo acepta y otras no.
La línea de código es:

conTal.Execute ("INSERT INTO MiTabla (MiFecha, MiComentario) VALUES (#" &
miFechaYear & "/" & miFechaMonth & "/" & miFechaday & "#, '" &
strMiComentario & "')")

La verdad es que no sé lo que puede estar pasando pero cuando cambio este
texto por otro unas veces lo acepta y otras no lo acepta, ése es el
misterio, por lo tanto no sé a qué error de sintaxis se refiere ni a qué
operador, porque la línea de código creo que es correcta.
He leido el post anterior de Orgil con el mismo error pero no encuentro
ninguna posible palabra reservada en mi texto. Agradeceré a quien me pueda
ayudar.

Saludos al grupo.



Respuesta Responder a este mensaje
#2 J. Enrique Alcaraz
16/04/2007 - 17:02 | Informe spam
Muchas gracias, Matías, efectivamente, haciendo pruebas con el texto he
descubierto hace muy poco que había un APÓSTROFO en una de las palabras, ése
ha sido el motivo de que el ASP me diera el error a la hora de enviar el
textarea.
Como el idioma español no utiliza los apóstrofos, no nos acordamos de ellos
a la hora de copiar y pegar texto.
Para evitarlo en lo sucesivo he hecho el Replace (-, "'", "''") en las
variables de entrada y así evitar que el usuario tenga error a la hora de
enviar datos (por ejemplo, un apellido con apóstrofo).

Saludos al grupo.


"Matias Iacono" escribió en el
mensaje news:
El problema esta en las comillas.

Al concatenar el texto en la consulta sql, esto te da un resultado similar
a:

INSERT INTO MiTabla (MiFecha, MiComentario) VALUES (#10/12/2007#, 'Texto
con
comillas " ' mas texto')

Si por ejemplo, dentro de tu texto tienes alguna comilla, en tu caso,
simple, esta es interpretada como finalizacion del campo, y todo lo demas,
el
SQL cree que es otro campo a tratar de inserta.

Lo que debes hacer es asegurarte que no exista esta inconcordancia. Antes
de
hacer el insert, podrias remplazar, por ejemplo, todas las comillas
simples,
por comillas dobles.

Saludos.

Microsoft MVP
Orador Regional INETA


"J. Enrique Alcaraz" wrote:


Hola:

No sé lo que puede pasar pero a la hora de enviar el contenido de un
textarea a un campo memo de Access me da el siguiente error:

Microsoft JET Database Engine error '80040e14'

Error de sintaxis (falta operador) en la expresión de consulta ''<div
class="TitularRojoOscuro">Texto. Texto Texto Texto Texto Texto Texto
Texto</div> Texto Texto Texto Texto Texto Texto Texto"Textos entre
comillas"
l'.

/Procesador.asp, línea 57

El texto incluye tags y comillas, pero unas veces lo acepta y otras no.
La línea de código es:

conTal.Execute ("INSERT INTO MiTabla (MiFecha, MiComentario) VALUES (#" &
miFechaYear & "/" & miFechaMonth & "/" & miFechaday & "#, '" &
strMiComentario & "')")

La verdad es que no sé lo que puede estar pasando pero cuando cambio este
texto por otro unas veces lo acepta y otras no lo acepta, ése es el
misterio, por lo tanto no sé a qué error de sintaxis se refiere ni a qué
operador, porque la línea de código creo que es correcta.
He leido el post anterior de Orgil con el mismo error pero no encuentro
ninguna posible palabra reservada en mi texto. Agradeceré a quien me
pueda
ayudar.

Saludos al grupo.



Respuesta Responder a este mensaje
#3 Dexter
11/05/2007 - 17:16 | Informe spam
Para poder insertar texto con apostrofe tienes que reemplazar el apostrfe
por 2 y el sqlserver lo interpretara como 1, ejemplo:

en vez de insertar 'O'Higgins' inserta 'O''Higgins'

Insert Into Personas (Nombre) Values ('O'Higgins') -> te mandara error

Lo correcto es:

Insert Into Personas (Nombre) Values ('O''Higgins')

entonces al momento de generar el SQL para insertar el registro reemplaza
todas las ' que existan por ''

replace("O'Higgins", "'", "''")

"J. Enrique Alcaraz" <alcarazQUITARarrobaESTOranpuntoes> escribió en el
mensaje news:%
Muchas gracias, Matías, efectivamente, haciendo pruebas con el texto he
descubierto hace muy poco que había un APÓSTROFO en una de las palabras,
ése ha sido el motivo de que el ASP me diera el error a la hora de enviar
el textarea.
Como el idioma español no utiliza los apóstrofos, no nos acordamos de
ellos a la hora de copiar y pegar texto.
Para evitarlo en lo sucesivo he hecho el Replace (-, "'", "''") en las
variables de entrada y así evitar que el usuario tenga error a la hora de
enviar datos (por ejemplo, un apellido con apóstrofo).

Saludos al grupo.


"Matias Iacono" escribió en el
mensaje news:
El problema esta en las comillas.

Al concatenar el texto en la consulta sql, esto te da un resultado
similar a:

INSERT INTO MiTabla (MiFecha, MiComentario) VALUES (#10/12/2007#, 'Texto
con
comillas " ' mas texto')

Si por ejemplo, dentro de tu texto tienes alguna comilla, en tu caso,
simple, esta es interpretada como finalizacion del campo, y todo lo
demas, el
SQL cree que es otro campo a tratar de inserta.

Lo que debes hacer es asegurarte que no exista esta inconcordancia. Antes
de
hacer el insert, podrias remplazar, por ejemplo, todas las comillas
simples,
por comillas dobles.

Saludos.

Microsoft MVP
Orador Regional INETA


"J. Enrique Alcaraz" wrote:


Hola:

No sé lo que puede pasar pero a la hora de enviar el contenido de un
textarea a un campo memo de Access me da el siguiente error:

Microsoft JET Database Engine error '80040e14'

Error de sintaxis (falta operador) en la expresión de consulta ''<div
class="TitularRojoOscuro">Texto. Texto Texto Texto Texto Texto Texto
Texto</div> Texto Texto Texto Texto Texto Texto Texto"Textos entre
comillas"
l'.

/Procesador.asp, línea 57

El texto incluye tags y comillas, pero unas veces lo acepta y otras no.
La línea de código es:

conTal.Execute ("INSERT INTO MiTabla (MiFecha, MiComentario) VALUES (#"
&
miFechaYear & "/" & miFechaMonth & "/" & miFechaday & "#, '" &
strMiComentario & "')")

La verdad es que no sé lo que puede estar pasando pero cuando cambio
este
texto por otro unas veces lo acepta y otras no lo acepta, ése es el
misterio, por lo tanto no sé a qué error de sintaxis se refiere ni a qué
operador, porque la línea de código creo que es correcta.
He leido el post anterior de Orgil con el mismo error pero no encuentro
ninguna posible palabra reservada en mi texto. Agradeceré a quien me
pueda
ayudar.

Saludos al grupo.









email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida