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

Me borra la variable que envio a traves de un link.

Estas en el tema de Me borra la variable que envio a traves de un link. en el foro de ASP Clásico en Foros del Web. Hola. Mi problema es que envio una variable (id_solic) de una pagina a otra a traves de un link: href="hola.asp?prueba=<%=pp("id_solic")%>" en esa pagina muestro los ...
  #1 (permalink)  
Antiguo 03/03/2006, 07:46
 
Fecha de Ingreso: febrero-2006
Mensajes: 98
Antigüedad: 19 años, 2 meses
Puntos: 0
Exclamación Me borra la variable que envio a traves de un link.

Hola.
Mi problema es que envio una variable (id_solic) de una pagina a otra
a traves de un link:
href="hola.asp?prueba=<%=pp("id_solic")%>"
en esa pagina muestro los datos del campo que corresponde a la variable
id_solic.
ademas en esa pag hago una actualizacion de ciertos campos.
pero al momento de presionar guardar me borra la variable id_solic
lo cual me impide compararla con la tabla para actualizar el registro.
trate de guardarla en otra variable,una variable de session incluso pero tambien me la borra.
¿Que hago?!!!!!!.


Aqui va mi codigo:
<form method="post" action="solicitud_abierta.asp" name=calform>
<%
session("var_solic") = cdbl(request.QueryString("id_solic"))
'response.write session("var_solic")
Set connection=Server.CreateObject("ADODB.Connection")
set con = CreateObject("ADODB.Recordset")
set rs = CreateObject("ADODB.Recordset")
connection.ConnectionString="Driver={SQL Server};Server=192.168.xx.xx;User Id=xx; password='xxxx'"
connection.Mode=3
connection.open

SQL1 = " trabajo.dbo.seleccionar_consulta'" & session("var_id") & "','" & cdbl(request.querystring("id_solic")) & "'"
con.Open SQL1, connection,1,2

SQL2 = "trabajo.dbo.solicitud"
rs.open SQL2,connection,1,2%>
<%
fecha = date()
response.write fecha
'response.write session("var_solic")
'response.write cdbl(request.querystring("id_solic"))
pasa = 2
if request.form("pasa3")<>"1" then%>
<div align="center">
<p><img src="dddddddd.JPG" width="491" height="84"></p>
<p class="style1 style12">Solicitud Abierta</p>
<table width="424" height="262" border="1" align="center" bordercolor="#999999">
<tr>
<td width="164" bordercolor="#FFFFFF" class="style1 style2"><div align="right" class="style4"> Nro Solicitud : </div>
</td>
<td width="244" bordercolor="#FFFFFF" class="style1 style2"><div align="left">
<%response.write con("nro_solicitud")%>
</div></td>
</tr>
<tr>
<td bordercolor="#FFFFFF" class="style1 style2"><div align="right"></div>
<div align="right" class="style4">Usuario ID :</div></td>
<td bordercolor="#FFFFFF" class="style1 style2"><div align="left">
<%response.write con("id")%>
</div></td>
</tr>
<tr>
<td bordercolor="#FFFFFF" class="style1 style2"><div align="right"></div>
<div align="right" class="style4">Nombre :</div></td>
<td bordercolor="#FFFFFF" class="style1 style2"><div align="left">
<%response.write con("describ")%>
</div></td>
</tr>
<tr>
<td bordercolor="#FFFFFF" class="style1 style2"><div align="right" class="style4">Telefono :</div></td>
<td bordercolor="#FFFFFF" class="style1 style2"><div align="left">
<%response.write con("anexo")%>
</div></td>
</tr>
<tr>
<td bordercolor="#FFFFFF" class="style1 style2"><div align="right" class="style4">E-mail :</div></td>
<td bordercolor="#FFFFFF" class="style1 style2"><div align="left">
<%response.write con("correo")%>
</div></td>
</tr>
<tr>
<td bordercolor="#FFFFFF" class="style1 style2"><div align="right" class="style4">Oficina :</div></td>
<td bordercolor="#FFFFFF" class="style1 style2"><div align="left">
<%response.write con("oficina")%>
</div></td>
</tr>
<tr>
<td bordercolor="#FFFFFF" class="style1 style2"><div align="right" class="style4">Fecha :</div></td>
<td bordercolor="#FFFFFF" class="style1 style2"><div align="left">
<%response.write con("fecha_solic")%>
</div></td>
</tr>
<tr>
<td bordercolor="#FFFFFF" class="style1 style2"><div align="right" class="style4">Centro de Costo :</div></td>
<td bordercolor="#FFFFFF" class="style1 style2"><div align="left">
<%response.write con("nom_centro")%>
</div></td>
</tr>
<tr>
<td bordercolor="#FFFFFF" class="style1 style2"><div align="right" class="style4">Urgencia :</div></td>
<td bordercolor="#FFFFFF" class="style1 style2"><div align="left">
<%response.write con("urgencia")%>
</div></td>
</tr>
<tr>
<td bordercolor="#FFFFFF" class="style1 style2"><div align="right" class="style4">Asunto :</div></td>
<td bordercolor="#FFFFFF" class="style1 style2"><div align="left">
<%response.write con("asunto")%>
</div></td>
</tr>
</table>
<table width="423" height="130" border="1" bordercolor="#999999">
<tr>
<td width="413" height="23" bordercolor="#FFFFFF" class="style3"><div align="left" class="style4">Detalle : </div></td>
</tr>
<tr>
<td bordercolor="#FFFFFF"><%response.write con("detalle")%></td>
</tr>
</table>
<table width="547" height="140" border="0">
<tr>
<td width="122" height="23"><div align="right"><span class="style8">Respuesta : </span></div></td>
<td width="298" rowspan="3"><div align="left">
<p><span class="style15">(maximo 125 caracteres)</span>
<textarea name="respuesta" cols="33" rows="8" onKeyDown="textCounter(this.form.respuesta,this.fo rm.remLen,125);"
onKeyUp="textCounter(this.form.respuesta,this.form .remLen,125);"></textarea>
<input readonly type="text" name="remLen" size="3" maxlength="3" value="125">
<span class="style15">caracteres</font> </span></p>
</div></td>
<td width="105" rowspan="3">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table>
<table width="550" border="0" align="center">
<tr>
<td width="85"><div align="right"><span class="style11">Adjunto :</span></div></td>
<td width="330"><input name="textfield" type="text" size="55"></td>
<td width="113"><input name="Submit" type="submit" class="style6" value=" Examinar... "></td>
</tr>
</table>

<table width="294" height="46" align="center">
<tr>
<td width="132"><div align="center">
<input name="menu" type="button" onclick="location.href = 'javascript: volver()'" class="style6" value=" Atrás ">
</div></td>
<td width="146"><div align="center">
<input name="guardar" type="submit" class="style6" value=" Guardar "><INPUT TYPE="hidden" NAME="pasa3" VALUE="1">
</div></td>
</tr>
</table>
<p class="style1">&nbsp;</p>
<p>&nbsp;</p>
</div>

<%response.write "id_solic:" & (session("var_solic")) & "<br>"
end if%>
<%

if request.form("pasa3") = "1" then

if request.form("respuesta")="" then%>
<script language="javascript">{alert("Debe ingresar Respuesta");history.back();}</script>
<%pasa3 = 4
else%>
<%pasa3=5%>
<%end if
' response.write cdbl(request.querystring("id_solic"))

%>

<%if pasa3 = "5" then
response.write "nro:" & rs("nro_solicitud") & "<br>"
response.write "var2:" & var2 & "<br>"
do while not rs.eof
'response.write "entro"
'request.form("var_solic") & "<br>"
if cdbl(rs("nro_solicitud"))= cdbl(session("var_solic")) then 'cdbl(request.QueryString("var_solic")) then
'response.write cdbl(rs("nro_solicitud"))
'con1.close
'con1.Open "trabajo.dbo.solicitud", connection,adOpenStatic, adCmdTable
'con1.open SQL2,connection,1,2
'con1.filter="nro_solicitud='" & request.form("id_solic")&"'"
'con1.Filter="nro_solicitud='" & request.QueryString("id_solic")& "'"
rs.fields("detalle") = rs("detalle") & "***" & request.form("respuesta") & request.form("fecha")
rs.fields("ult_fecha_mod") = fecha
rs.update
end if
rs.movenext
loop

end if%>
<%end if%>
</form>
</body>
</html>

tengo muchos comentarios para saber donde se caia..o donde me borra las variables.Por eso puedo decir que al momento de presionar el boton guardar me las borra.
  #2 (permalink)  
Antiguo 03/03/2006, 10:19
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
A_girl, en serio no es necesario que pegues toooooooodo tu código aquí, en cambio trata de poner solamente la parte funcional, y te recomiendo que utilices las etiquetas de CODE para que sea más legible, bueno, ahora a lo que nos compete:

Un submit a un form siempre implicará otra llamada http, por lo que veo tu form viaja a otro asp, entonces no es que te borre esa variable, sino que no la estás pasando en el form, lo que puedes hacer dentro de este mismo form es:

Código:
<input type="hidden" name="id_solic" value="<%=id_solic%>" />
Y lo recuperas en el asp a donde viaja la forma con un

id_solic = Request.Form("id_solic")


Saludos.
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 03/03/2006, 10:20
Avatar de ElAprendiz  
Fecha de Ingreso: enero-2002
Ubicación: Maipu, Chile
Mensajes: 3.706
Antigüedad: 23 años, 2 meses
Puntos: 2
sinceramente me dio paja leerlo
  #4 (permalink)  
Antiguo 06/03/2006, 07:27
 
Fecha de Ingreso: febrero-2006
Mensajes: 98
Antigüedad: 19 años, 2 meses
Puntos: 0
Nop no me resulta!!!!!
toy en crisis!!!
  #5 (permalink)  
Antiguo 06/03/2006, 08:31
 
Fecha de Ingreso: noviembre-2005
Ubicación: venezulea
Mensajes: 214
Antigüedad: 19 años, 5 meses
Puntos: 0
lo sugerido por u_goldman debería de funcionarte, por que no te fuciona especificamente que error te muestra??????
  #6 (permalink)  
Antiguo 06/03/2006, 08:51
 
Fecha de Ingreso: febrero-2006
Mensajes: 98
Antigüedad: 19 años, 2 meses
Puntos: 0
Ahora si me resulta.
no se que modifique,pero me resulta...ahora el otro problema es :
ADODB.Recordset error '800a0bcd'
El valor de BOF o EOF es True, o el actual registro se eliminó; la operación solicitada requiere un registro actual.
/solicitud_abierta.asp, line 255

y no se como resolverlo!.
la linea 255 es:
do while not rs.eof
if cdbl(rs("nro_solicitud"))= cdbl(request.form("prue_solic")) then
response.write request.form("prue_solic")
'cdbl(request.QueryString("id_solic")) then
rs.fields("detalle") = rs("detalle") & "***" & request.form("respuesta") & fecha
rs.fields("ult_fecha_mod") = fecha
rs.update%>

<script language="javascript">{alert("La Información fue actualizada..");history.back();}</script>

<%end if
con.movenext
loop
esop.
  #7 (permalink)  
Antiguo 06/03/2006, 08:57
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
a ver .........

¿por qué le haces un moveNext al objeto con, si tu recordSet se llama rs?

rs.MoveNext
  #8 (permalink)  
Antiguo 06/03/2006, 09:03
Avatar de pinchoso  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona
Mensajes: 177
Antigüedad: 19 años, 6 meses
Puntos: 0
creo que tiene dos recordsets...con es uno, y el otro es rs...pero tampoco me lo he mirao a fondo
__________________

  #9 (permalink)  
Antiguo 06/03/2006, 09:08
 
Fecha de Ingreso: febrero-2006
Mensajes: 98
Antigüedad: 19 años, 2 meses
Puntos: 0
uhhh...ke volada yo!.
muchas gracias ya me funciona!
mas ke feliz y agradecida ahora...
muchas muchas muchas grax!
  #10 (permalink)  
Antiguo 06/03/2006, 09:09
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Cita:
Iniciado por pinchoso
creo que tiene dos recordsets...con es uno, y el otro es rs...pero tampoco me lo he mirao a fondo
Si ese fuera el caso, el error entonces sería claro, como tendría un ciclo infinito (do while not rs.eof) se llegaría al final de con y al siguiente MoveNext, se provocaría el error.

Saludos
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:27.