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

Error al insertar codigo en Bd

Estas en el tema de Error al insertar codigo en Bd en el foro de ASP Clásico en Foros del Web. Estoy intentando introducir funciones en una base de datos, con el objetivo de organizar mis conocimientos y encontrar facilmente lo que necesito, por ejemplo introduciendo ...
  #1 (permalink)  
Antiguo 13/05/2005, 16:57
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 22 años
Puntos: 0
Error al insertar codigo en Bd

Estoy intentando introducir funciones en una base de datos,
con el objetivo de organizar mis conocimientos y encontrar facilmente lo que necesito,
por ejemplo introduciendo esta funcion:


<% Function AcomodarTEXTO(txt)
txt = Replace (txt, "<", "&lt;")
txt = Replace (txt, ">", "&gt;")
txt = Replace (txt, vbCrLf, "<BR>")
txt = Replace (txt, "''", "'")
AcomodarTEXTO = txt
End function %>

Me aparece este error:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Controlador ODBC Microsoft Access]
Error de sintaxis en la cadena en la expresión de consulta
''<% Function AcomodarTEXTO(txt) txt = Replace (txt, "<", "&lt;") txt = Replace (txt, ">", "&gt;") txt = Replace (txt, vbCrLf, "<BR>") txt = Replace (txt, "''", "'") AcomodarTEXTO = txt End function %>')'.
Datos de POST:
AcomodarTEXTO%28txt%29%0D%0A%09txt+%3D+Replace+%28 txt%2C+%22%3C%22%2C+%22%26lt%3B%22%29%0D%0A%09txt+ %3D+Replace+%28txt% . . .

¿Como hago para que me deje insertar correctamnte en la base de datos,
y recuperarlos posteriormente con la forma original?
  #2 (permalink)  
Antiguo 13/05/2005, 17:34
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 20 años, 8 meses
Puntos: 18
haz un debug a la cadena sql que intenta insertar y pégala aquí
  #3 (permalink)  
Antiguo 14/05/2005, 17:36
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 22 años
Puntos: 0
Los problemas estan en esta linea:
txt = Replace (txt, "''", "'")
El error se produce en primer lugar, por la ' anterior.
si decido prescindir de ella y poner:
txt = Replace (txt, "''", "")
No se produce error al insertar en la base, sin embargo se inserta esto:
txt = Replace (txt, "'", "")
Perdiendose una ' en el camino.
  #4 (permalink)  
Antiguo 15/05/2005, 04:44
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 20 años, 8 meses
Puntos: 18
nada tío, tú tranquilo. No hagas lo que te dice alguien que intenta ayudarte. Pega aquí la consulta que se queda al final y después ya veremos qué es lo que pasa.
  #5 (permalink)  
Antiguo 15/05/2005, 09:30
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 22 años
Puntos: 0
Perdona, trasgukabi

si pongo:
<% Function AcomodarTXT(txt)
txt = Replace (txt, "<", "&lt;")
txt = Replace (txt, ">", "&gt;")
txt = Replace (txt, vbCrLf, "<BR>")
txt = Replace (txt, "''", "'")
acomodarTXT = txt
End function %>

me aparece esto:
insert into funciones (codigofuncion) values ('')

si quito <% y %> me aparece:

insert into funciones (codigofuncion) values ('Function AcomodarTXT(txt) txt = Replace (txt, "<", "<") txt = Replace (txt, ">", ">") txt = Replace (txt, vbCrLf, "
") txt = Replace (txt, "''", "'") acomodarTXT = txt End function ')
  #6 (permalink)  
Antiguo 17/05/2005, 18:07
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 22 años
Puntos: 0
Por fin lo he solucionado
Uso la funcion llevarabd(txt) para insertar en la base de datos y la funcion traerdebd(txt) para rescatarlos.
<% Function llevarabd(txt)
txt = Replace (txt, "<", "Chr(60)")
txt = Replace (txt, "&lt;", "Otro(60)")
txt = Replace (txt, ">", "Chr(62)")
txt = Replace (txt, "&gt;", "Otro(62)")
txt = Replace (txt, "'", "Chr(39)")
llevarabd = txt
End function %>
<% Function traerdebd(txt)
txt = Replace (txt, "Chr(60)", "<")
txt = Replace (txt, "Otro(60)", Server.HTMLEncode("&lt;"))
txt = Replace (txt, "Chr(62)", ">")
txt = Replace (txt, "Otro(62)", Server.HTMLEncode("&gt;"))
txt = Replace (txt, "Chr(39)", "'")
traerdebd = txt
End function %>

No se si a mediada que introduzca diferente codigo me daran problemas con otros caracteres, si encuentro mas los pondre aqui tambien.
Gracias a todos los que intentasteis resolverlo
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 09:57.