Retroceder   Foros del Web > Programación para sitios web > ASP

Respuesta
 
Herramientas Desplegado
Antiguo 02-mar-2008, 12:06   #1 (permalink)
GUW
GUW ha deshabilitado el karma
 
Fecha de Ingreso: julio-2006
Mensajes: 43
Exclamación Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

Hola amigos.

Un error en la programacion me esta volviendo loco.
Dejo el codigo, por si alguien ve lo que yo no veo. Saludos.
Me devuelve el siguiente error:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression ''Tenemos la esperanza de que nos conceda la oportunidad de servirle con nuestros conocimientos del mercado internacional con el fin de incrementar su 'portfolio' de propiedades con algo que sea realmente no solo una inversión más, sino aquello que provoque q'.

/mn_guardar_nosotros.asp, line 37

El codigo:

<%
Option Explicit

'Definición de variables

Dim Base
Dim Tabla
Dim SQL
Dim cod_nosotros
Dim nosotros1
Dim nosotros2
Dim nosotros3
Dim activo
Dim orden
Dim ant_orden

'Fin de la definición de variables

cod_nosotros = request.Form ("cod_nosotros")
if cod_nosotros = "" then cod_nosotros = "#"
nosotros1 = request.Form("nosotros1")
nosotros2 = request.Form("nosotros2")
nosotros3 = request.Form("nosotros3")
if request.Form("activo") <> "" Then activo = "True" Else activo = "False"
orden = request.Form("orden")
ant_orden = request.Form("ant_orden")
if ant_orden = "" Then ant_orden = "9999"

SET Base = Server.CreateObject("ADODB.Connection")
base.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=d:/business/louduniversal.com/private/ louduniversal mdb"

If cod_nosotros = "#" Then
SQL = "Insert Into nosotros (cod_nosotros, nosotros1, nosotros2, nosotros3, activo, orden) values ('#', '" & nosotros1 & "', '" & nosotros2 & "', '" & nosotros3 & "', " & activo & ", " & orden & ")"
Else
SQL = "Update nosotros Set nosotros1='" & nosotros1 & "', nosotros2='" & nosotros2 & "', nosotros3='" & nosotros3 & "', activo=" & activo & ", orden=" & orden & " Where cod_nosotros='" & cod_nosotros & "'"
end If
Base.Execute SQL
GUW está desconectado   Responder Citando
Antiguo 03-mar-2008, 04:44   #2 (permalink)
Adler está en el buen camino
 
Avatar de Adler
 
Fecha de Ingreso: diciembre-2006
Mensajes: 308
Re: Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

Hola

¿Por qué no intentas un debug por medio del response.write SQL y response.end?

Suerte
__________________
Todos con BoRr@sS. Apoyemos el intercambio
Adler está desconectado   Responder Citando
Antiguo 03-mar-2008, 05:03   #3 (permalink)
GUW
GUW ha deshabilitado el karma
 
Fecha de Ingreso: julio-2006
Mensajes: 43
Exclamación Re: Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

Muchas gracias por contestar.
En realidad no sé a que te refieres.
¿podrías ponerme un ejemplo?

El caso es que poniendo dos campos me funciona perfectamente. Ha sido al añadir un campo más que me ha dado error, y no sé porqué.

Saludos.
GUW está desconectado   Responder Citando
Antiguo 03-mar-2008, 07:16   #4 (permalink)
Colaborador
JuanRAPerez tiene algunos puntos positivos de karma
 
Fecha de Ingreso: octubre-2003
Mensajes: 1.668
Re: Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

adler se refiere

a:

If cod_nosotros = "#" Then
SQL = "Insert Into nosotros (cod_nosotros, nosotros1, nosotros2, nosotros3, activo, orden) values ('#', '" & nosotros1 & "', '" & nosotros2 & "', '" & nosotros3 & "', " & activo & ", " & orden & ")"
Else
SQL = "Update nosotros Set nosotros1='" & nosotros1 & "', nosotros2='" & nosotros2 & "', nosotros3='" & nosotros3 & "', activo=" & activo & ", orden=" & orden & " Where cod_nosotros='" & cod_nosotros & "'"
end If
response.write SQL
response.end
'Base.Execute SQL

pone eso y dinos que te muestra

suerte
__________________
Juan Ramón Pérez
San Salvador, El Salvador
JuanRAPerez esta en línea ahora   Responder Citando
Antiguo 03-mar-2008, 07:33   #5 (permalink)
GUW
GUW ha deshabilitado el karma
 
Fecha de Ingreso: julio-2006
Mensajes: 43
Exclamación Re: Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

muchas gracias.

La comilla ante de Base ('Base.Execute SQL) lo convierte en texto de referencia, con lo que supongo que está mal.

En realidad, la página de mn_guardar_nosotros.asp debería realizar su acción, y pasar al índice. En este caso, con tu propuesta, se queda en mn_guardar_nosotros.asp mostrando esto:

Update nosotros Set nosotros1='Más allá de lo estrictamente profesional, LogoPut tiene como pauta tratar a cada cliente como si fuese el único de la empresa. Esta mentalidad y forma de trabajo es la que ha aportado a esta plantilla los resultados obtenidos hasta la fecha y ha marcado el curso de esta empresa hacia una nueva forma de comercio en la que los que imperan son los valores éticos que a largo plazo determinan no solo la supervivencia de la empresa sino también el bienestar, tranquilidad y seguridad de los clientes que en ella confían.', nosotros2='En la actualidad estamos implicados en la venta de más de 2000 viviendas en urbanizaciones de lujo y ensueño en primera línea de playa en las costas del mediterráneo marroquí, amén de otros Mercados de Inversión Emergentes y Seguros que pronto estarán a su disposición en esta misma pagina.', nosotros3='Tenemos la esperanza de que nos conceda la oportunidad de servirle con nuestros conocimientos del mercado internacional con el fin de incrementar su 'portfolio' de propiedades con algo que sea realmente no solo una inversión más, sino aquello que provoque que usted se lo cuente a sus amigos, por lo que le abrimos la puerta para que contacte con nosotros. Y nos recomiende a sus conocidos.', activo=False, orden=1 Where cod_nosotros='1'

O sea, el texto que está en la base. No lo modifica ni lo guarda, Simplemente se queda aquí.

De nuevo digo que cuando lo que hecho con dos campos (nosotros1 y nosotros2) va perfecto, pero al añadir un nosotros3 se me atasca en medio del proceso y no hay manera.
GUW está desconectado   Responder Citando
Antiguo 03-mar-2008, 07:46   #6 (permalink)
Adler está en el buen camino
 
Avatar de Adler
 
Fecha de Ingreso: diciembre-2006
Mensajes: 308
Re: Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

Hola GUW fijate en esto como ejemplo

incrementar su 'portfolio' de propiedades con algo que sea realmente no solo una
Vuelve a repetirlo el proceso hasta que no quede ninguna comilla simple.

Por otro lado si quieres mantener las comillas codificalas con escape cuando recoges los valores

nosotros1 = escape(request.Form("nosotros1"))

para decodificarla usa unescape
Suerte
__________________
Todos con BoRr@sS. Apoyemos el intercambio
Adler está desconectado   Responder Citando
Antiguo 03-mar-2008, 08:00   #7 (permalink)
GUW
GUW ha deshabilitado el karma
 
Fecha de Ingreso: julio-2006
Mensajes: 43
De acuerdo Re: Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

Sí, señor.

Imaginaba que las comillas simples podían ser el problema, porque era justo el texto que me devolvía el servidor, pero no lo había tocado pensando que erauna tontería. Está claro que aquí cualquier detalle es importante.

Muchas gracias y un saludo.
Hoy podré dormir tranquilo.
GUW está desconectado   Responder Citando
Antiguo 03-mar-2008, 11:13   #8 (permalink)
Colaborador
JuanRAPerez tiene algunos puntos positivos de karma
 
Fecha de Ingreso: octubre-2003
Mensajes: 1.668
Re: Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

oki, lo que se te indico era eso, suspender el insert y mostrar el texto que estas tratando de insertar

por eso era el response.end para terminra el proceso y mostrar el insert

ahora quita el
response.end y la comilla de el
'Base.Execute SQL


suerte
__________________
Juan Ramón Pérez
San Salvador, El Salvador
JuanRAPerez esta en línea ahora   Responder Citando
Antiguo 22-abr-2008, 08:13   #9 (permalink)
luis_eficiente está en el buen camino
 
Fecha de Ingreso: agosto-2005
Mensajes: 25
Re: Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

Hola a todos!!!

tengo un error al hacer una consulta a una Base de Datos en Access, antes me funcionaba pero cambié el servidor de IIS 5.0 a IIS 6.0 y me ha arrojado multiples errores que he ido solventando, pero a este error no le encuentro solución!!! les muestro el error:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][Controlador] ODBC Microsoft Access] Error de sintaxis en la fecha en la expresión de consulta :

SELECT n_cuenta, cedula, n_cheque, monto_cheque, nombre_com, telefono_com, fecha, hora FROM conformacion WHERE flg = 0 AND fecha BETWEEN #"&Session("fec_ini")&"# AND #"&Session("fec_fin")&"# AND ((fecha = #"&Session("fec_ini")&"# AND hora > #"&hora&"#) OR (fecha = #"&Session("fec_fin")&"# AND hora < #"&hora&"#))"

antes me funcionaba bien pero ahora me arroja estos errores???

alguien tiene alguna sugerencia???
luis_eficiente está desconectado   Responder Citando
Antiguo 22-abr-2008, 08:33   #10 (permalink)
Colaborador
JuanRAPerez tiene algunos puntos positivos de karma
 
Fecha de Ingreso: octubre-2003
Mensajes: 1.668
Re: Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

lo que hace el response.write y response.end es mostrarr tu sentencia sql para poder hacer una prueba de verificación de errores, por eso es que no se inserta en la base de datos. es un modo de depuración

por simple inspección yo veo esto.

Cita:
Iniciado por GUW Ver Mensaje
... nosotros3='Tenemos la esperanza de que nos conceda la oportunidad de servirle con nuestros conocimientos del mercado internacional con el fin de incrementar su 'portfolio' de propiedades con algo que sea realmente no solo una inversión más, sino aquello que provoque que usted se lo cuente a sus amigos, por lo que le abrimos la puerta para que contacte con nosotros. Y nos recomiende a sus conocidos.', activo=False, orden=1 Where cod_nosotros='1'
...
creo que las comillas simples de esa palabra te estan truncando el SQL, prueba quitando las, reemplaza todas tus comillas simples en los textos y veras si te deja hacer la inserción.

Suerte
__________________
Juan Ramón Pérez
San Salvador, El Salvador
JuanRAPerez esta en línea ahora   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 17:01.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93