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

Construcción de sentencia SQL desde un formulario

Estas en el tema de Construcción de sentencia SQL desde un formulario en el foro de ASP Clásico en Foros del Web. Un saludo: Quiero construir una sentencia SQL en base a los datos enviados por un formulario. Como mi servidor está en ingles tengo que utilizar ...
  #1 (permalink)  
Antiguo 07/12/2005, 16:14
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 21 años
Puntos: 0
Construcción de sentencia SQL desde un formulario

Un saludo:
Quiero construir una sentencia SQL en base a los datos enviados por un formulario. Como mi servidor está en ingles tengo que utilizar una función para poner la fecha en formato canónico.

Las funciones que uso para esto son fechavalidezofertafuncion y fechapublicacionofertafuncion

No hay problema si entre los parametros que llegan del formulario está la fechapublicacionoferta o la fechavalidezoferta. Ahora bien si vienen los dos juntos entonces en vez de cogerme los valores de las funciones me agarra los valores provenientes del formulario.


Lo que intento decirle a la DB ACCESS es lo siguiente:

"Cuando te lleguen del formulario los campos fechapublicacionoferta y fechavalidezoferta" en vez de coger el valor del campo en el formulario, debes coger el valor de la funcion fechapublicacionfertafuncion y fechavalidezofertafuncion. Para los demás campos del formulario debes coger el valor que te llega de ese formulario".


El asunto es que llevo varias horas y no doy con la construcción de la sentencia para realizar esto, ¿pueden echarme una mano?. Les paso el código que creo que deberia realizar esto, pero que obviamente no lo hace puesto que está mal. (ya he dejado de echarle la culpa a microsoft de todo, algo voy aprendiendo, creo).

Código
--------
Código:
 
Poner_AND= False
 Filtro= ""
 FOR EACH Parametro IN Request.Form
  IF Request.Form (Parametro) <> "" then 
   IF Poner_AND THEN
    Filtro= Filtro & " AND " & Parametro & "='"
 
    if parametro <> "fechavalidezoferta" or parametro <> "fechapublicacionoferta" then
     Filtro= Filtro & Request.Form (Parametro) & "'"
    else
 
     if parametro="fechavalidezoferta" then
      Filtro= Filtro & fechavalidezofertafuncion & "'"
     end if
     if parametro="fechapublicacionoferta" then
      Filtro=Filtro & fechapublicacionofertafuncion & "'" 
     end if
    end if
 
   ELSE
    Filtro= Filtro & Parametro & "='"
    if parametro <> "fechavalidezoferta" or parametro <> "fechapublicacionoferta" then
     Filtro= Filtro & Request.Form (Parametro) & "'"
    else
 
     if  parametro = "fechapublicacionoferta" then
      Filtro= Filtro & Fechapublicacionofertafuncion & "'"
     end if
     if  parametro = "fechavalidezoferta" then
      Filtro= Filtro & Fechavalidezofertafuncion & "'"
     End if
    END IF
    Poner_AND = True
   END IF
  END IF 
 NEXT
-----
Fin Código

Muchas gracias
__________________

Espero haber aprendido algo de tí.
A mi padre.

Última edición por ciberpata; 07/12/2005 a las 16:24
  #2 (permalink)  
Antiguo 07/12/2005, 16:39
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Me parece que tu problema deberia solucionarse con un simple operador logico:
Código:
 if parametro <> "fechavalidezoferta" or parametro <> "fechapublicacionoferta" then
     Filtro= Filtro & Request.Form (Parametro) & "'"
    else
 
     if parametro="fechavalidezoferta" then
      Filtro= Filtro & fechavalidezofertafuncion & "'"
     end if
     if parametro="fechapublicacionoferta" then
      Filtro=Filtro & fechapublicacionofertafuncion & "'" 
     end if
    end if
Traduciendo:

Si el campo es diferente de "fechavalidezoferta"

O

Campo diferente de "fechapublicacionoferta"

Me parece que lo que tu quieres decirle es que sea diferente de los dos, no de uno solo, creo que ya me estoy haciendo bolas, pero yo utilizaria un AND en lugar del OR.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 09/12/2005, 10:44
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 21 años
Puntos: 0
Gracias tenias razón
__________________

Espero haber aprendido algo de tí.
A mi padre.
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 01:10.