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

Porque al agregar???

Estas en el tema de Porque al agregar??? en el foro de ASP Clásico en Foros del Web. Miren tengo este problem... Tengo un Formulario el cual me manda a un asp que tiene el codigo para agregar datos a una tabla Ok.. ...
  #1 (permalink)  
Antiguo 17/12/2003, 10:38
 
Fecha de Ingreso: noviembre-2003
Mensajes: 343
Antigüedad: 21 años, 5 meses
Puntos: 0
Porque al agregar???

Miren tengo este problem...

Tengo un Formulario el cual me manda a un asp que tiene el codigo para agregar datos a una tabla Ok..

El problema que tengo es que cuando mi texto llega a tener alguna comilla o comilla doble por ahi , me manda un error diciendo lo siguiente:

Error de sintaxis (falta operador) en la expresión de consulta

Como si le ubiese agregado alguna instruccion,

La pregunta es como puedo hacer para evitar este error y cuando se le agergue lo que sea con comilla s o no pues o pase esto Ok

Les pongo aqui el codigo haber si les sierve de algo..

byer y muchas gracias.. Cualuqer cosa estoy en lkinea [email protected]

<%
Dim BDD
Dim TABLA
Dim SQL
Dim RESP


*//Aqui es donde recibo los datos que vienen del form

Seccion = " '" &Request.Form("Seccion")& "' "
Autor = "'" & Request.Form ("Autor") & "'"
Fecha = "'" & Request.Form ("Fecha") & "'"
Titulo = "'" & Request.Form ("Titulo") & "'"
Texto_Corto = "'" & Request.Form ("Texto_Corto") & "'"
Texto_Completo = "'" & Request.Form ("Texto_Completo") & "'"
IMG = "'" & Request.Form ("IMG") & "'"

Set BDD = Server.CreateObject("ADODB.Connection")
Set TABLA = Server.CreateObject("ADODB.Recordset")

BDD.Open ("PROVIDER=Microsoft.Jet.OLEDB.4.0; DATA SOURCE=" + Server.MapPath ("../../Home.mdb"))

/////*******EL nombre de mi tabla viene del paso de paramentros de un form por eso vienen con requeste.querystring..

SQL = "INSERT INTO "&request.QueryString("Tabla")& "(Seccion, Autor, Fecha, Titulo, Texto_Corto, Texto_Completo, IMG)
values ("&Seccion&", "& Autor&", "&Fecha&", "&Titulo&", "&Texto_Corto&", "&Texto_Completo&", "&IMG&")"



BDD.Execute SQL,RESP

BDD.Close
Set BDD = Nothing
Set TABLA = Nothing


%>
  #2 (permalink)  
Antiguo 17/12/2003, 10:53
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
a cada uno de los request.form hacele un replace de un apóstrofe por dos seguidos:


Seccion = " '" &Replace(Request.Form("Seccion"), "'", "''")& "' "
__________________
...___...
  #3 (permalink)  
Antiguo 17/12/2003, 10:56
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 23 años, 2 meses
Puntos: 50
En caso de que el texto tenga comillas porque no las reemplazas para que no tengas ese problema.

Ejemplo

Replace ("tu_texto", "' ", "")

No se ven pero lo que haces es quitar las comillas simples y con ello evitar problemas al hacer algun insert, update, etc.

Cita:
Seccion = " '" & Replace(Request.Form("Seccion"),"' ","") & "' "

Espero te funcione-..

Saludos
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #4 (permalink)  
Antiguo 17/12/2003, 11:00
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 23 años, 2 meses
Puntos: 50
Que tal Daz, creo que me ganaste la respuesta por un par de minutos.. jeje
  #5 (permalink)  
Antiguo 17/12/2003, 11:19
 
Fecha de Ingreso: noviembre-2003
Mensajes: 343
Antigüedad: 21 años, 5 meses
Puntos: 0
Seccion = " '" &Replace(Request.Form("Seccion"), "'", "''")& "' "

A la perfeccion si agrega las comillas ahora el problema que tengo esquemiconuslta no muestra el campo ....
__________________


La tecnología es un hecho objetivo, y el resultado está sujeto a la voluntad humana.
  #6 (permalink)  
Antiguo 17/12/2003, 17:13
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Exactamente 3 minutos, RootK ;)

Berletzis, no entiendo el nuevo "posible error"
__________________
...___...
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:24.