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

Comillas y HTML y ASP

Estas en el tema de Comillas y HTML y ASP en el foro de ASP Clásico en Foros del Web. Vereis, tengo un sistema para introducir Info en unA DB, pero si meto comillas, se me cuelga todo. Para eso, y para que esas comillas ...
  #1 (permalink)  
Antiguo 15/05/2003, 07:14
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 21 años, 6 meses
Puntos: 0
Comillas y HTML y ASP

Vereis, tengo un sistema para introducir Info en unA DB, pero si meto comillas, se me cuelga todo. Para eso, y para que esas comillas al ser mostradas como HTML se vean en la web, lo que hago es un replace(variable, """", "& quot;")

Sin embargo, si quiero meter en la DB codigo HTML (<img src ="loquesea">), pues entonce me cambia las comillas por & quot y no vale para nada...

¿COmo puedo hacer si no para meter las comillas en la DB y que luego se vean normal, y que a lav ez sirvan para el HTML?

¿Y con las comillas simples?


Gracuias
__________________
Tu portal de manga y anime.
  #2 (permalink)  
Antiguo 15/05/2003, 07:58
Avatar de Fr@Nc3$c0  
Fecha de Ingreso: abril-2002
Ubicación: Barcelona (Spain)
Mensajes: 710
Antigüedad: 22 años, 2 meses
Puntos: 1
Ola Meru-kun:

La verdad, no entiendo porque se te cuelga, yo introduzco comillas en la Base de datos y las cargo correctamente, sin tener que "modificar" el nombre de su entrada. es decir, que las introduzco tal cual " "

Pon tu código haber, y le echamos un ojo.

Si te sirve alomejor puedes utilizar unos cuantos replace.

Saludos.
__________________
Francesc Mula Calleja
Hay mucho por ver todavía...
  #3 (permalink)  
Antiguo 15/05/2003, 09:56
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 21 años, 6 meses
Puntos: 0
El error me l da cuando intento editar el contenido de algun campo, de la siguiente fomra:

strSQL = "UPDATE GAMES_INFO SET CONTENIDO='"
strSQL = strSQL & txtInfo & "', TITULO='" & txtTitulo & "' WHERE ID_JUEGO="&txtIDJuego&" AND ID_SECCION="
strSQL = strSQL & txtIDSecc & " AND ID=" & txtIdSep


Al ejecutra esa sentencia, dice que me faltan los operadores (la comilla corta la cadena >_<)

El problema con la comilla simple, ' , se da al intentar actualizar los datos, es decir, al hacer un UPDATE...

Si hiciese un replace(variable, " ' ", "chr(valorascciicomilla"), ¿se solucionaria mi problema?
__________________
Tu portal de manga y anime.
  #4 (permalink)  
Antiguo 15/05/2003, 11:20
 
Fecha de Ingreso: mayo-2002
Ubicación: Hermosillo, Son.
Mensajes: 62
Antigüedad: 22 años
Puntos: 1
Doble comilla

Aqui lo que tienes que hacer es una funcion que te lea el string y en caso de que encuentre una comilla sencilla agregale otra comilla al string, de esta manera SQL no te va marcar error y se ejecuta tal y como quieres
__________________
OjO ...
  #5 (permalink)  
Antiguo 15/05/2003, 14:51
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 21 años, 6 meses
Puntos: 0
Ya pero yo no quier que me agregue otra comilla.

Si pone I´m ... no quiero que ponga I´´ m

No se puede hacer de otra forma ?
__________________
Tu portal de manga y anime.
  #6 (permalink)  
Antiguo 15/05/2003, 15:34
Avatar de Fr@Nc3$c0  
Fecha de Ingreso: abril-2002
Ubicación: Barcelona (Spain)
Mensajes: 710
Antigüedad: 22 años, 2 meses
Puntos: 1
si sustituyes las comillas por su caracter ASCII o equivalencia HTML no te funciona?
__________________
Francesc Mula Calleja
Hay mucho por ver todavía...
  #7 (permalink)  
Antiguo 15/05/2003, 15:38
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 21 años, 6 meses
Puntos: 0
¿Y cual es el valor ascii de la comilla simple, o su homonimo html? Graciaaaaas
__________________
Tu portal de manga y anime.
  #8 (permalink)  
Antiguo 15/05/2003, 15:43
Avatar de Fr@Nc3$c0  
Fecha de Ingreso: abril-2002
Ubicación: Barcelona (Spain)
Mensajes: 710
Antigüedad: 22 años, 2 meses
Puntos: 1
en HTML --> &quot;

en ASCII --> Carácter 34 (CH34)

Espero que te funcione.
__________________
Francesc Mula Calleja
Hay mucho por ver todavía...
  #9 (permalink)  
Antiguo 15/05/2003, 15:59
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Cita:
Mensaje Original por meru-kun
Ya pero yo no quier que me agregue otra comilla.

Si pone I´m ... no quiero que ponga I´´ m

No se puede hacer de otra forma ?

Es que esa es justamente la manera de escapar una comilla simple!

Si pone I´m, la SQL va a quedar como I´´ m pero en la BD, en definitiva, quedará I´m

o sea que si.. la soluciòn es hacer el replace:


strSQL = "UPDATE GAMES_INFO SET CONTENIDO='"
strSQL = strSQL & replace(txtInfo, "'", "''") & "', TITULO='" & replace(txtTitulo, "'", "''") & "' WHERE ID_JUEGO="&txtIDJuego&" AND ID_SECCION="
strSQL = strSQL & txtIDSecc & " AND ID=" & txtIdSep



No te compliques.. hecelo así que funciona
  #10 (permalink)  
Antiguo 15/05/2003, 16:11
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 21 años, 6 meses
Puntos: 0
Me da error:
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/add_secc.asp, line 135


Perfecto, era un errro estupido mio. Ya esta todo solucionado, y efectivamente, con poner 2 comillas funciona todo a la perfeccion. Siento haberos liado tanto.

Gracias de nuevo a los dos ^^
__________________
Tu portal de manga y anime.

Última edición por meru-kun; 15/05/2003 a las 16:04
  #11 (permalink)  
Antiguo 15/05/2003, 16:23
Avatar de Fr@Nc3$c0  
Fecha de Ingreso: abril-2002
Ubicación: Barcelona (Spain)
Mensajes: 710
Antigüedad: 22 años, 2 meses
Puntos: 1
Que bueno Dazuaga

Siento no haber sido de ayuda.

Saludos.
__________________
Francesc Mula Calleja
Hay mucho por ver todavía...
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 21:31.