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

definir variable de session

Estas en el tema de definir variable de session en el foro de ASP Clásico en Foros del Web. buenas, necesito definir una variable donde el valor sea el resultado de un recordset ( xxxxx ) : <% Session("nombre de session") = xxxxxx %> ...
  #1 (permalink)  
Antiguo 11/07/2006, 04:47
 
Fecha de Ingreso: abril-2002
Mensajes: 68
Antigüedad: 22 años, 2 meses
Puntos: 0
definir variable de session

buenas, necesito definir una variable donde el valor sea el resultado de un recordset ( xxxxx ) :

<% Session("nombre de session") = xxxxxx %>


no se si me explico bien ... intentare mandar una imagen de lo que me esta pasando.

Gracias
__________________
Lordztein
  #2 (permalink)  
Antiguo 11/07/2006, 05:09
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
te refieres a meter todo el recordset en una sesión? un poco jodido para los recursos del servidor dependiendo de cómo de grande sea el recordset. Si lo que quieres es no tener que volver a lanzar la consulta sql, te recomiendo que generes un archivo XML
  #3 (permalink)  
Antiguo 11/07/2006, 05:12
 
Fecha de Ingreso: abril-2002
Mensajes: 68
Antigüedad: 22 años, 2 meses
Puntos: 0
solo un resultado

solo me dara un resultado :

yo lo hago asi ( mal )

<% Session("idioma") =(Recordset2.Fields.Item("idioma").Value)%>

como lo puedo definir ??
__________________
Lordztein
  #4 (permalink)  
Antiguo 11/07/2006, 05:53
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
con
<% Session("idioma") =Recordset2("idioma")%>
debería valer
  #5 (permalink)  
Antiguo 11/07/2006, 06:16
 
Fecha de Ingreso: abril-2002
Mensajes: 68
Antigüedad: 22 años, 2 meses
Puntos: 0
me sale este error :

Se esperaba un identificador
/webgest/test.asp, línea 3, columna 30
Session("idioma") =Recordset2.("idioma")
-----------------------------^
__________________
Lordztein
  #6 (permalink)  
Antiguo 11/07/2006, 06:22
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
Session("idioma") =Recordset2("idioma")

sin el punto (a veces, la flecha marca el camino. O el error, como en este caso)
  #7 (permalink)  
Antiguo 11/07/2006, 06:23
 
Fecha de Ingreso: abril-2006
Ubicación: Bizkaia
Mensajes: 70
Antigüedad: 18 años, 1 mes
Puntos: 0
Te sobra el punto del recordset

trasgukadi te lo ha puesto bien:
Session("idioma") =Recordset2("idioma")


(Sobra esta respuesta) Trasgukabi lo ha puesto antes.
  #8 (permalink)  
Antiguo 11/07/2006, 06:30
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
y eso que acabo de llegar de Pamplona ahora mismo. Las emes del teclado me parecen katxis, las es, navarricas vestidas de blanco, etc, etc. mi teclado ahora mismo es un mundo de color y diversión, JAJAJAJA
  #9 (permalink)  
Antiguo 11/07/2006, 06:47
 
Fecha de Ingreso: abril-2006
Ubicación: Bizkaia
Mensajes: 70
Antigüedad: 18 años, 1 mes
Puntos: 0
que suerte tienen algunos!!!!
  #10 (permalink)  
Antiguo 11/07/2006, 06:48
 
Fecha de Ingreso: abril-2002
Mensajes: 68
Antigüedad: 22 años, 2 meses
Puntos: 0
Pues yo tenia que hacer lo mismo ...a ver que fiestas pillo !!!
me sale este error :

Tipo de error:
Error de Microsoft VBScript en tiempo de ejecución (0x800A000D)
No coinciden los tipos

trasgukabi .... vales tu peso en oro !!

Gracias por tu paciencia
__________________
Lordztein
  #11 (permalink)  
Antiguo 11/07/2006, 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
Si te dice que no coinciden los tipos es que está intentando tomar a Recordset2() como una función inexistente, si mal no recuerdo.
O sea, jamás creaste un recordset llamado Recordset2
__________________
...___...
  #12 (permalink)  
Antiguo 11/07/2006, 10:06
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
enseñanos el script completo
  #13 (permalink)  
Antiguo 11/07/2006, 10:38
 
Fecha de Ingreso: abril-2002
Mensajes: 68
Antigüedad: 22 años, 2 meses
Puntos: 0
acabo de hacer un test.asp para que veais lo que me pasa
Cita:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/webgestcon.asp" -->
<%Session("idioma")=Recordset1("idioma")%>
<%
Dim Recordset1__MMColParam
Recordset1__MMColParam = "1"
If (Request("MM_EmptyValue") <> "") Then
Recordset1__MMColParam = Request("MM_EmptyValue")
End If
%>
<%
Dim Recordset1
Dim Recordset1_numRows

Set Recordset1 = Server.CreateObject("ADODB.Recordset")
Recordset1.ActiveConnection = MM_webgestcon_STRING
Recordset1.Source = "SELECT * FROM gestidiomas WHERE numer = " + Replace(Recordset1__MMColParam, "'", "''") + ""
Recordset1.CursorType = 0
Recordset1.CursorLocation = 2
Recordset1.LockType = 1
Recordset1.Open()

Recordset1_numRows = 0
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<p><%=(Recordset1.Fields.Item("idioma").Value)%>
</p>
<p>&nbsp;</p>
<p></p>
<p></p>
</body>
</html>
<%
Recordset1.Close()
Set Recordset1 = Nothing
%>
__________________
Lordztein
  #14 (permalink)  
Antiguo 11/07/2006, 10:45
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
prueba así
Código:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/webgestcon.asp" -->

<%
Dim Recordset1__MMColParam
Recordset1__MMColParam = "1"
If (Request("MM_EmptyValue") <> "") Then
Recordset1__MMColParam = Request("MM_EmptyValue")
End If
%>
<%
Dim Recordset1
Dim Recordset1_numRows

Set Recordset1 = Server.CreateObject("ADODB.Recordset")
Recordset1.ActiveConnection = MM_webgestcon_STRING
Recordset1.Source = "SELECT * FROM gestidiomas WHERE numer = " + Replace(Recordset1__MMColParam, "'", "''") + ""
Recordset1.CursorType = 0
Recordset1.CursorLocation = 2
Recordset1.LockType = 1
Recordset1.Open()
Session("idioma")=Recordset1("idioma")
Recordset1_numRows = 0
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<p><%=(Recordset1.Fields.Item("idioma").Value)%>
</p>
<p>&nbsp;</p>
<p></p>
<p></p>
</body>
</html>
<%
Recordset1.Close()
Set Recordset1 = Nothing
%>
tenías
<%Session("idioma")=Recordset1("idioma")%>
antes de abrir el recordset, tal y como dijo el señor de los forillos
  #15 (permalink)  
Antiguo 11/07/2006, 10:46
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
Era lo que imeginé :)
Sí estás creando un recordset llamado Recordset1, pero lo estás utilizando antes de tiempo (por lo tanto no existe aun)

Mové esta línea:
Session("idioma")=Recordset1("idioma")

Abajo de ésta:
Recordset1.Open()



Edit: Me ganó el señor de las fiestillas :)
__________________
...___...
  #16 (permalink)  
Antiguo 11/07/2006, 11:38
 
Fecha de Ingreso: abril-2002
Mensajes: 68
Antigüedad: 22 años, 2 meses
Puntos: 0
Gracias

ok ... gracias por vuestra ayuda !!!

geniales !!!!!!
__________________
Lordztein
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 19:37.