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

Redireccionar despues de un Stored Procedure

Estas en el tema de Redireccionar despues de un Stored Procedure en el foro de ASP Clásico en Foros del Web. Saludos a todo el foro. De que manera se puede redireccionar hacia otra pagina siempre y cuando un SP se halla ejecutado satisfactoriamente. Es decir: ...
  #1 (permalink)  
Antiguo 01/06/2006, 10:15
 
Fecha de Ingreso: enero-2006
Mensajes: 169
Antigüedad: 18 años, 4 meses
Puntos: 0
Pregunta Redireccionar despues de un Stored Procedure

Saludos a todo el foro.

De que manera se puede redireccionar hacia otra pagina siempre y cuando un SP se halla ejecutado satisfactoriamente. Es decir:

Llamo al SP:
strquery = "spinsmarca '" & request("marca") & "'"
Set marca = Conn.execute(strquery)

Si el SP se ejecuto con exito y no hubo ningun problema que redireccione a otra pagina

IF SP=OK THEN
response.redirect(pagina)
END IF
__________________
"La adulación es una moneda que empobrece al que la recibe"
  #2 (permalink)  
Antiguo 01/06/2006, 10:39
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Regresa un parametro de salida desde tu SP, en base a este valor puedes hacer la redireccion.
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 01/06/2006, 11:01
 
Fecha de Ingreso: enero-2006
Mensajes: 169
Antigüedad: 18 años, 4 meses
Puntos: 0
De acuerdo Gracias Ugoldman

No tendras un ejemplo de como declarar la variable OUTPUT y como cacharla en asp??

De antemano gracias
__________________
"La adulación es una moneda que empobrece al que la recibe"
  #4 (permalink)  
Antiguo 01/06/2006, 11:19
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
En tu stored procedure, necesitas declarar esto:

@variable int OUTPUT

Despues en el ASP que ejecuta el stored procedure, yo te aconsejo que utilices el objeto command de ADO, y para "cachar" ese valor necesitas crear un parametro:


Código:
Set cmd = Server.CreateObject("ADODB.Command")

Set param = cmd.CreateParameter("valor", adInteger, adParamOutput, 4)
cmd.Parameters.Append(param)

cmd.Execute()

valorASP = cmd.Parameters("valor")
El objeto command es tu amigo:
http://www.aspfaq.com/params.htm

Y yo regresaria quizas las filas afectadas por el SP
http://msdn.microsoft.com/library/de...eate2_7eeq.asp

Si el valor mayor que cero, entonces rediriges.

Felices trazos!
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 01/06/2006, 12:54
 
Fecha de Ingreso: enero-2006
Mensajes: 169
Antigüedad: 18 años, 4 meses
Puntos: 0
Cosa rara

Tengo el siguiente codigo para lograr lo expuesto en ese tema:

Código:
set cmd = Server.CreateObject("ADODB.Command")
cmd.ActiveConnection = Conn
cmd.CommandText = "spinsmarca"
cmd.CommandType = 4
cmd.CommandTimeout = 0
cmd.Prepared = true
cmd.Parameters.Append
cmd.CreateParameter("@marca", 200, 1,50,request.form("marca"))
cmd.CreateParameter("@Res_SP", 3, 2,50,)
set marca = cmd.Execute()
Y me manda este error:
Tipo de error:
Error de compilación de Microsoft VBScript (0x800A0414)
No se puede utilizar paréntesis al llamar a Sub
/graba_marca.asp, línea 33, columna 57
cmd.CreateParameter("@marca", 200, 1,50,request("marca"))


Lo raro esta en que ese codigo lo saque de otra pagina en el mismo sitio, y ese codigo funciona sin problemas, pongo el codigo que copie para construir el de arriba:

Código:
set cmd = Server.CreateObject("ADODB.Command")
cmd.ActiveConnection = Conn
cmd.CommandText = "spVerifPasswdE"
cmd.CommandType = 4
cmd.CommandTimeout = 0
cmd.Prepared = true
cmd.Parameters.Append 
cmd.CreateParameter("@login", 200, 1,50,request.form("login"))
set rs = cmd.Execute()
__________________
"La adulación es una moneda que empobrece al que la recibe"
  #6 (permalink)  
Antiguo 01/06/2006, 13:01
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Trata así:

Código:
set cmd = Server.CreateObject("ADODB.Command")
cmd.ActiveConnection = Conn
cmd.CommandText = "spinsmarca"
cmd.CommandType = 4
cmd.CommandTimeout = 0
cmd.Prepared = true
'cmd.Parameters.Append
Set param = cmd.CreateParameter("@marca", 200, 1,50,request.form("marca"))
cmd.Parameters.Append(param)
Set param = cmd.CreateParameter("@Res_SP", 3, 2,50,)
cmd.Parameters.Append(param)
set marca = cmd.Execute()
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #7 (permalink)  
Antiguo 01/06/2006, 14:43
 
Fecha de Ingreso: enero-2006
Mensajes: 169
Antigüedad: 18 años, 4 meses
Puntos: 0
Pregunta Gracias Ugoldman !!!!!!!!!!!!

Ya quedo solo tuve que hacerle una pequeña correccion. Mil gracias por la ayuda

__________________
"La adulación es una moneda que empobrece al que la recibe"

Última edición por kire94; 01/06/2006 a las 15:46
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:12.