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

Leer datos de un formulario

Estas en el tema de Leer datos de un formulario en el foro de ASP Clásico en Foros del Web. Envio un form en el que los "id" se han ido generando según los códigos de los artículos de la DDBB. POr ejemplo nos llega ...
  #1 (permalink)  
Antiguo 20/01/2008, 13:00
 
Fecha de Ingreso: noviembre-2002
Ubicación: Elche
Mensajes: 548
Antigüedad: 21 años, 7 meses
Puntos: 0
Leer datos de un formulario

Envio un form en el que los "id" se han ido generando según los códigos de los artículos de la DDBB.

POr ejemplo nos llega

request.form("600") y request.form("601"), con los valores que les corresponde. Hasta ahí como siempre.

Cuando quiero igualarlo con lo la DDBB para cambiarlos es donde biene el problema.

Por Ejemplo:

strSQL = "SELECT * FROM articulos ORDER by codigo_articulo_db"
rs.Open strSQL, Conexion_rs, 1, 2
do while not rs.EOF
...

pongamos en esta caso que "rs.fields("codigo_articulo_db")"=600 y quiero
leer el contenido del "request.form("600")" que es el que le corresponde.

con

codigo= request.form(rs.fields("codigo_articulo_db)), es evidente que no funciona

¿Cómo puedo hacerlo? ¿Cómo desde una variable puedo buscar el valor de un request del formulario recibido, teniendo en cuenta que cada vez pueden ser distintos y por lo tanto no los puedo controlar?

Saludos y gracias por vuestra ayuda
  #2 (permalink)  
Antiguo 20/01/2008, 22:57
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Re: Leer datos de un formulario

y por que no intentas algo como este codigo???
Cita:
Iniciado por u_goldman Ver Mensaje
Útil para ver los elementos que llegan de un querystring o de un form

Código:
Sub Depura(accion)
 If accion = "qs" Then
   For each elemento in request.querystring
      Response.Write elemento & " = " & request.querystring(elemento) & "<br>"
   Next
 ElseIf accion = "frm" Then
   For each elemento in request.form
      Response.Write elemento & " = " & request.form(elemento) & "<br>"   
   Next
 End If
 Response.End
End Sub
Depura "frm"

Salu2,
elemento seria lo que tomarias para realizar la consulta, eso es a lo que te entiendo ahora

, estas realizando algun refresh a la pagina para estas consultas, o como es lo que intentas realizar????, podrias detallar mas el tema???
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #3 (permalink)  
Antiguo 21/01/2008, 04:22
 
Fecha de Ingreso: noviembre-2002
Ubicación: Elche
Mensajes: 548
Antigüedad: 21 años, 7 meses
Puntos: 0
Re: Leer datos de un formulario

El problema es que no puedo utilizar el "FOR EACH" ya que el que manda en el orden es la lectura de la DDBB y, además, no simepre utiliza todos los resultados del formulario.

Esa complicado el lio en el que me metí, pero cuando diseñé el tema no pensaba que después me haría falta hacer esto.

Es caso de no encontrar un asolución sencilla tendré que cambiar bastantes cosas para que pueda trabajar el invento este.

Saludos y gracias
  #4 (permalink)  
Antiguo 21/01/2008, 07:25
 
Fecha de Ingreso: noviembre-2002
Ubicación: Elche
Mensajes: 548
Antigüedad: 21 años, 7 meses
Puntos: 0
Re: Leer datos de un formulario

Efectívamente. Ha funcionado siguiendo tus instrucciones.

Este es el código final

mensaje=""
For each elemento in request.form
if elemento <>"tarifa" then ' discrimino el request que me indica a que tarifa corresponde.

if IsNumeric(request.form(elemento)) then ' controlo que sea numerico

el_precio=replace(request.form(elemento),",",".") ' cambio las comas por puntos para guardar en formato "double(10,2)
array_puntos=split(el_precio,".") ' controlo si hay más de un punto
total_array=Ubound(array_puntos)
if total_array >1 then
mensaje= "<script language='javascript1.2'>alert('Un PRECIO lleva dos separadores. Utilizar sólo para decimales.\n\n Pulse para volver');history.back();</script>"
end if
else
mensaje="<script language='javascript1.2'>alert('Los campos PRECIO deben ser NUMERICOS.\n\n Pulse para volver');history.back();</script>"
end if
if mensaje="" then ' si no hay errores
Valores = ver_tarifa&","&elemento&","&el_precio
%>
<!-- #Include File="../include_basedatos.asp" -->
<%
strSQL = "INSERT INTO precios (tarifa_precio_db, articulo_precio_db, precio_precio_db) VALUES (" & Valores & ")"
Set miConexion = Conexion.Execute(strSQL)

miConexion.Close
Conexion.Close
Set miConexion = Nothing
Set Conexion = Nothing
end if ' del mensaje
end if ' diferente tarifa
next

if mensaje="" then
response.write "<script language='JavaScript'>alert('Se ha actualizado los precios correctamente.\n');location.replace('precios.asp') ;</script>"
else
response.write mensaje
end if


Bueno más o menos esto.

Saludos y gracias... me veía cambiando un montón de cosas.
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:43.