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

Ayuda con Modificacion de un Registro con SQL....

Estas en el tema de Ayuda con Modificacion de un Registro con SQL.... en el foro de ASP Clásico en Foros del Web. hola, estoy utilizando un proceso para modificar un registro o incluso para dar una alta en una tabla pero no me funciona. Estoy utilizando access ...
  #1 (permalink)  
Antiguo 21/02/2005, 12:13
Avatar de cokete  
Fecha de Ingreso: noviembre-2004
Mensajes: 224
Antigüedad: 19 años, 7 meses
Puntos: 0
Ayuda con Modificacion de un Registro con SQL....

hola, estoy utilizando un proceso para modificar un registro o incluso para dar una alta en una tabla pero no me funciona. Estoy utilizando access 97 y la sentencia que utilizo para ello es la siguiente....

strMarca=Replace(Request.Form("Marca"),"'", """")
strModelo=Replace(Request.Form("Modelo"),"'", """")
strCodSerie=Replace(Request.Form("CodSerie"),"'", """")

Cuando solo utilizo campos de texto todo va bien, pero al meter este ultimo StrCodSerie que es un campo numerico me dice que no coinciden los tipos de datos al ejecutarse el Conn.Execute SQL. Si alguien sabe donde esta el error???? Muchas Gracias.
  #2 (permalink)  
Antiguo 21/02/2005, 12:20
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
Es que estás colocando la variable strCodSerie entre apóstrofes y el campo es numérico. Quitale esos apóstrofes.
__________________
...___...
  #3 (permalink)  
Antiguo 21/02/2005, 12:29
Avatar de cokete  
Fecha de Ingreso: noviembre-2004
Mensajes: 224
Antigüedad: 19 años, 7 meses
Puntos: 0
Que no me entero...

He probado a quitar varias cosas y me dice lo mismo... si me pudieras poner tu la linea.... te lo agradeceria.. hoy estoy totalmente Bloqueado
  #4 (permalink)  
Antiguo 21/02/2005, 12:39
Avatar de cokete  
Fecha de Ingreso: noviembre-2004
Mensajes: 224
Antigüedad: 19 años, 7 meses
Puntos: 0
Nada....

No consigo meter en StrCodSerie el numero limpio sacado del formulario... para meterlo con un insert en una tabla....... hoy no es el dia.... ufffff me piro a cas... Un saludo a todos.
  #5 (permalink)  
Antiguo 21/02/2005, 12:47
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:
si me pudieras poner tu la linea...


No, la línea (la sentencia SQL) la tenés que colocar vos para que el resto la pueda ver!
__________________
...___...
  #6 (permalink)  
Antiguo 21/02/2005, 14:10
 
Fecha de Ingreso: septiembre-2004
Mensajes: 36
Antigüedad: 19 años, 8 meses
Puntos: 0
Hola.
La función replace es solo para campos de texto por eso te dara el error siempre. Si quieres comprobar que nadie escribe comillas en ese campo deberas usar la función Isnumeric que comprueba si es un numero o no.
Saludos.
  #7 (permalink)  
Antiguo 21/02/2005, 14:32
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:
Iniciado por Ramonkill
Hola.
La función replace es solo para campos de texto por eso te dara el error siempre. Si quieres comprobar que nadie escribe comillas en ese campo deberas usar la función Isnumeric que comprueba si es un numero o no.
Saludos.
, no tiene nada que ver. Además dice que "no coinciden los tipos de datos al ejecutarse el Conn.Execute SQL", por lo que debe ser si o si lo que dije en el primer mensaje: Que está colocándole apóstrofes a un campo numérico (o que los omitió en uno de texto o alguna de esas variantes ).
__________________
...___...
  #8 (permalink)  
Antiguo 21/02/2005, 14:58
 
Fecha de Ingreso: septiembre-2004
Mensajes: 36
Antigüedad: 19 años, 8 meses
Puntos: 0
Hola.
Me explique mal. El error lo da no la propia función. Sino que una vez que se usa esa función el valor devuelto es una cadena de texto por eso al usarlo en la sentencia sql con un valor numero o autonumerico de una base de datos da el error ahi.
La variable numerica la devuelve cadena y en la setencia sql la compara o algo asi con una numerica y como la variable dejo de ser numerica da el error de que los datos no coinciden.
Eso es lo malo que tiene que todas las variables sean Dim.
Saludos.
  #9 (permalink)  
Antiguo 21/02/2005, 15:02
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Si pusieras código (lo que provoca el fallo), y el error generado no estresarias tanto a A_Z y podríamos ayudarte mejor.
  #10 (permalink)  
Antiguo 21/02/2005, 15:12
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
Ramonkill, yo suelo usar una función RyL("nombre_de_campo_de_form") que lo que hace es un request.form de lo que le paso como argumento y luego un replace de un apóstrofe por dos de ellos. Eso se lo asigno a variables que luego utilizo para hacer inserts y updates (o para usarlo en el WHERE) tanto para campos text como (auto)numéricos y nunca me dio error de tipos por ello.
__________________
...___...
  #11 (permalink)  
Antiguo 21/02/2005, 15:25
 
Fecha de Ingreso: septiembre-2004
Mensajes: 36
Antigüedad: 19 años, 8 meses
Puntos: 0
Hola.
Tienes razón. Es que me acordaba que alguna vez me dio error y buscando lo de la función replace lei que devolvia cadenas de texto pero la verdad no da ningun erro por usarla con un campo numerio. Para salir de dudas hice la prueba.
Saludos.
__________________
A cada cual según su necesidad, de cada cual según su capacidad.
  #12 (permalink)  
Antiguo 22/02/2005, 02:50
Avatar de cokete  
Fecha de Ingreso: noviembre-2004
Mensajes: 224
Antigüedad: 19 años, 7 meses
Puntos: 0
Solucionado

Nada chicos..una bobada... con meter en la variable el valor que hay en la caja de texto directamente sin Replace vale.

strCodSerie=(Request.Form("CodSerie"))

Hay mete directamente el numero y luego a procesar en la cadena SQL.
Muchas Gracias de todas maneras.
  #13 (permalink)  
Antiguo 22/02/2005, 09:52
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
Ouch!

Entonces mi afirmación, corroborada por las pruebas de Ramonkill, es... ¿¡falsa!?
__________________
...___...
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 23:38.