Foros del Web » Programando para Internet » ASP Clásico »

Problema con las comillas

Estas en el tema de Problema con las comillas en el foro de ASP Clásico en Foros del Web. Exposición del Caso: Base de datos Access 2000 base.mdb 1.- uno de los campos de texto de una de las tablas contiene registros con palabras ...
  #1 (permalink)  
Antiguo 04/11/2003, 12:20
Avatar de lantrax  
Fecha de Ingreso: abril-2003
Ubicación: Spain is different
Mensajes: 310
Antigüedad: 21 años, 2 meses
Puntos: 0
Problema con las comillas

Exposición del Caso:

Base de datos Access 2000 base.mdb
1.- uno de los campos de texto de una de las tablas contiene registros con palabras destacadas entre comillas

2.- cuando quiero agregar o modificar un campo, accedo a través de sentencia SQL, pero me da error cuando meto comillas en el registro de ese campo


Tras instanciar un objeto Connection y llamar a la cadena de conexión,
Código:
set oConn=Server.CreateObject("ADODB.Connection")
strSQL="UPDATE empresas SET EMPRESA='"&Request.Form("EMPRESA")&"' "
Set objRS = oConn.Execute(strSQL)
y lo dicho, el cantazo con lo de las comillas es exagerado.

Alguien sabe donde cómo soludcionar el problema??

Gracias.

Salu2

LaNTraX
  #2 (permalink)  
Antiguo 05/11/2003, 06:09
Avatar de Mignola  
Fecha de Ingreso: noviembre-2002
Ubicación: Templo Shaolin
Mensajes: 167
Antigüedad: 21 años, 7 meses
Puntos: 1
Q el usuario no pueda introducir comillas simples ni dobles:
Código:
EMPRESA = Replace(Request.Form("EMPRESA"), "'", "")
EMPRESA = Replace(Request.Form("EMPRESA"), CHR(34), "")
O sustituyelo por el codigo HTML:
Código:
EMPRESA = Replace(Request.Form("EMPRESA"), "'", """)
EMPRESA = Replace(Request.Form("EMPRESA"), CHR(34), """)
Espero sirva de algo....
  #3 (permalink)  
Antiguo 05/11/2003, 06:16
 
Fecha de Ingreso: marzo-2003
Ubicación: onde toy?
Mensajes: 1.437
Antigüedad: 21 años, 3 meses
Puntos: 9
Cita:
Mensaje Original por Mignola
Q el usuario no pueda introducir comillas simples ni dobles:
Código:
EMPRESA = Replace(Request.Form("EMPRESA"), "'", "")
EMPRESA = Replace(Request.Form("EMPRESA"), CHR(34), "")
O sustituyelo por el codigo HTML:
Código:
EMPRESA = Replace(Request.Form("EMPRESA"), "'", """)
EMPRESA = Replace(Request.Form("EMPRESA"), CHR(34), """)
Espero sirva de algo....


oye Mignola....tienes alguna URL de donde pueda sacar los chr(algo)? grax
__________________
Buena Vida...
Francisco
  #4 (permalink)  
Antiguo 05/11/2003, 06:38
Avatar de Mignola  
Fecha de Ingreso: noviembre-2002
Ubicación: Templo Shaolin
Mensajes: 167
Antigüedad: 21 años, 7 meses
Puntos: 1
Tenia una tablita por algun lado, de todas maneras mira a ver si esto te sirve, ejecutalo en un ASP:

<%
For i=1 to 255
response.write "chr(" & i & ")" & " = " & chr(i) & "<br>"
next

%>

Los valores 8, 9, 10 y 13 se convierten en caracteres de retroceso, tabulación, avance de línea y retorno de carro, respectivamente.
  #5 (permalink)  
Antiguo 05/11/2003, 07:16
 
Fecha de Ingreso: marzo-2003
Ubicación: onde toy?
Mensajes: 1.437
Antigüedad: 21 años, 3 meses
Puntos: 9
Cita:
Mensaje Original por Mignola
Tenia una tablita por algun lado, de todas maneras mira a ver si esto te sirve, ejecutalo en un ASP:

<%
For i=1 to 255
response.write "chr(" & i & ")" & " = " & chr(i) & "<br>"
next

%>

Los valores 8, 9, 10 y 13 se convierten en caracteres de retroceso, tabulación, avance de línea y retorno de carro, respectivamente.


Wuau...genial...gracias
__________________
Buena Vida...
Francisco
  #6 (permalink)  
Antiguo 05/11/2003, 07:46
Avatar de lantrax  
Fecha de Ingreso: abril-2003
Ubicación: Spain is different
Mensajes: 310
Antigüedad: 21 años, 2 meses
Puntos: 0
OK, gracias por las respuestas.

De todas formas el problema me surge cuando quiero que realmente el usuario pueda ingresar " dentro de un campo del registro.

Ahí es donde está el problema.

La cuestión creo que está en la sentencia SQL

strSQL="UPDATE empresas SET EMPRESA='"&Request.Form("EMPRESA")&"' "

claro, si el mandado por formulario EMPRESA tiene comillas, ejemplo:

IRRIGACIONES "LAPERA"

cuando ASP ejecuta la SQL para actualizar el ACCESS reconoce lo siguiente:

strSQL="UPDATE empresas SET EMPRESA='IRRIGACIONES " LA PERA "' "

Claro la pera queda fuera de la cadena strSQL y da error..

Y no lo solucionno con comillas simples, ni dobles, ni dando palos de ciego,...

A ver si alguien más listo que yo se le ocurre algo...

Muchas gracias a tod@s.

LaNTraX
  #7 (permalink)  
Antiguo 06/11/2003, 07:11
Avatar de Mignola  
Fecha de Ingreso: noviembre-2002
Ubicación: Templo Shaolin
Mensajes: 167
Antigüedad: 21 años, 7 meses
Puntos: 1
Pues eso, sustituye por el codigo HTML, cuando lo muestres aparecerean unas comillas:

Replace(Request.Form("EMPRESA"), CHR(34), "& q u o t ; ")

lo de & q u o t ; ponlo todo junto... este es el codigo HTML para las comillas... es q me di cuenta q te muestra comilas mas arriba en vez de esto.
  #8 (permalink)  
Antiguo 06/11/2003, 07:36
Avatar de lantrax  
Fecha de Ingreso: abril-2003
Ubicación: Spain is different
Mensajes: 310
Antigüedad: 21 años, 2 meses
Puntos: 0
niet.

el problema no es como editar un registro obtenido del Access a la página html, sino al contrario.

Fíjate en el code de arriba, cuando inserto en un campo de formulario las comillas, y hago clic en actualizar cambio, se ejecutan esas líneas de code en la página asp de destino, pues si en ese campo de formulario escribo comillas, la estructura de la ar strSQL se joroba, porque cuando encuentra las comillas, se cree que ha llegado al final de la instrucción.

no se si me he explicao

Gracias

LaNTraX
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:05.