problema de eliminacion al salir de la sesion

05/10/2005 - 20:37 por Enrique | Informe spam
hola a todos,

al salir de la sesion (session_onend del GLOBAL.ASA), quiero eliminar unos
datos que se han quedado en una tabla temporal pero no se porque no me
funciona cuando creo que el codigo es correcto.

¿que es lo que falla? ¿que debo hacer o modificar?

os dejo el codigo:
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Session_OnStart
'mientras no se cambie este valor, el usuario no ha logeado. deberemos usar
el session.sessionID
'temporalmente hasta formalizar el pedido si es que se llega a hacer.
session("sessionID")= session.SessionID
end Sub

Sub Session_OnEnd
call eliminarDatosTablaTemporal 'eliminar los datos de la tabla temporal
para esta sesion
end Sub

'eliminar los datos de la tabla temporal para esta sesion
sub eliminarDatosTablaTemporal
'nos conectamos a la base de datos
set oConn=Server.CreateObject("ADODB.Connection")
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
Server.MapPath("datos")

'ejecutar la consulta accion de eliminacion
SQL = "DELETE * FROM Commandes_temporaires WHERE sessionID='" &
session("sessionID") & "'"
oConn.Execute sql

'cerrar la conexion
oConn.Close
set oConn=nothing
end sub
</SCRIPT>

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
End Sub
</SCRIPT>

gracias de antemano por su ayuda

Preguntas similare

Leer las respuestas

#1 Gabriel S.
05/10/2005 - 21:24 | Informe spam
La primera cosa que deberias hacer es asegurarte que la parte que ejecuta el
comando SQL este funcionando, y que ademas, se este ejecutando...

Podrias poner un response.write(SQL) en esa parte, primero para saber si
pasa, segundo para copiar ese codigo y ejecutarlo a mano en el query
analizer, para ver si funciona

Otra no se me ocurre, porque si el resto esta bien, deberia funcionar...

Gabriel.


"Enrique" wrote in message
news:
hola a todos,

al salir de la sesion (session_onend del GLOBAL.ASA), quiero eliminar unos
datos que se han quedado en una tabla temporal pero no se porque no me
funciona cuando creo que el codigo es correcto.

¿que es lo que falla? ¿que debo hacer o modificar?

os dejo el codigo:
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Session_OnStart
'mientras no se cambie este valor, el usuario no ha logeado. deberemos


usar
el session.sessionID
'temporalmente hasta formalizar el pedido si es que se llega a hacer.
session("sessionID")= session.SessionID
end Sub

Sub Session_OnEnd
call eliminarDatosTablaTemporal 'eliminar los datos de la tabla temporal
para esta sesion
end Sub

'eliminar los datos de la tabla temporal para esta sesion
sub eliminarDatosTablaTemporal
'nos conectamos a la base de datos
set oConn=Server.CreateObject("ADODB.Connection")
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
Server.MapPath("datos")

'ejecutar la consulta accion de eliminacion
SQL = "DELETE * FROM Commandes_temporaires WHERE sessionID='" &
session("sessionID") & "'"
oConn.Execute sql

'cerrar la conexion
oConn.Close
set oConn=nothing
end sub
</SCRIPT>

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
End Sub
</SCRIPT>

gracias de antemano por su ayuda



Respuesta Responder a este mensaje
#2 Enrique
05/10/2005 - 23:11 | Informe spam
gracias por tu ayuda pero siguo sin entender porque no funciona.


"Gabriel S." escribió en el mensaje
news:
La primera cosa que deberias hacer es asegurarte que la parte que ejecuta


el
comando SQL este funcionando, y que ademas, se este ejecutando...

Podrias poner un response.write(SQL) en esa parte, primero para saber si
pasa, segundo para copiar ese codigo y ejecutarlo a mano en el query
analizer, para ver si funciona

Otra no se me ocurre, porque si el resto esta bien, deberia funcionar...

Gabriel.


"Enrique" wrote in message
news:
> hola a todos,
>
> al salir de la sesion (session_onend del GLOBAL.ASA), quiero eliminar


unos
> datos que se han quedado en una tabla temporal pero no se porque no me
> funciona cuando creo que el codigo es correcto.
>
> ¿que es lo que falla? ¿que debo hacer o modificar?
>
> os dejo el codigo:
> <SCRIPT LANGUAGE=VBScript RUNAT=Server>
> Sub Session_OnStart
> 'mientras no se cambie este valor, el usuario no ha logeado. deberemos
usar
> el session.sessionID
> 'temporalmente hasta formalizar el pedido si es que se llega a hacer.
> session("sessionID")= session.SessionID
> end Sub
>
> Sub Session_OnEnd
> call eliminarDatosTablaTemporal 'eliminar los datos de la tabla


temporal
> para esta sesion
> end Sub
>
> 'eliminar los datos de la tabla temporal para esta sesion
> sub eliminarDatosTablaTemporal
> 'nos conectamos a la base de datos
> set oConn=Server.CreateObject("ADODB.Connection")
> oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
> Server.MapPath("datos")
>
> 'ejecutar la consulta accion de eliminacion
> SQL = "DELETE * FROM Commandes_temporaires WHERE sessionID='" &
> session("sessionID") & "'"
> oConn.Execute sql
>
> 'cerrar la conexion
> oConn.Close
> set oConn=nothing
> end sub
> </SCRIPT>
>
> <SCRIPT LANGUAGE=VBScript RUNAT=Server>
> Sub Application_OnStart
> End Sub
> </SCRIPT>
>
> gracias de antemano por su ayuda
>
>
>



Respuesta Responder a este mensaje
#3 Gatón
06/10/2005 - 02:04 | Informe spam
Pruebalo asi

SQL = "DELETE * FROM Commandes_temporaires WHERE sessionID=" &


session("sessionID")


Saludos

Enrique Medina
Santiago de Chile


"Enrique" escribió en el mensaje
news:
hola a todos,

al salir de la sesion (session_onend del GLOBAL.ASA), quiero eliminar unos
datos que se han quedado en una tabla temporal pero no se porque no me
funciona cuando creo que el codigo es correcto.

¿que es lo que falla? ¿que debo hacer o modificar?

os dejo el codigo:
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Session_OnStart
'mientras no se cambie este valor, el usuario no ha logeado. deberemos


usar
el session.sessionID
'temporalmente hasta formalizar el pedido si es que se llega a hacer.
session("sessionID")= session.SessionID
end Sub

Sub Session_OnEnd
call eliminarDatosTablaTemporal 'eliminar los datos de la tabla temporal
para esta sesion
end Sub

'eliminar los datos de la tabla temporal para esta sesion
sub eliminarDatosTablaTemporal
'nos conectamos a la base de datos
set oConn=Server.CreateObject("ADODB.Connection")
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
Server.MapPath("datos")

'ejecutar la consulta accion de eliminacion
SQL = "DELETE * FROM Commandes_temporaires WHERE sessionID='" &
session("sessionID") & "'"
oConn.Execute sql

'cerrar la conexion
oConn.Close
set oConn=nothing
end sub
</SCRIPT>

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
End Sub
</SCRIPT>

gracias de antemano por su ayuda



Respuesta Responder a este mensaje
#4 Enrique
06/10/2005 - 19:14 | Informe spam
gracias pero es exactamente lo que he puesto en mi codigo.

no funciona de ninguna forma:
ni con: session("sessionID")
ni con: session.sessionID

es mas, aunque tenga el campo "sessionID" de mi tabla temporal creado como
texto, aunque lo obvie (lo considero como numero), no me da ni error.
creo que al salir el programa no pasa por aqui al salir de la sesion.

la session se acaba o cuando pasan 20 mn sin actividad del usuario (caduca
la sesion) o cuando el usuario cierra de forma explicita la pagina web. ¿es
asi? ¿estoy confundido? ¿alguna solucion a mi problema?

muchas gracias por su ayuda








"Gatón" <elsupergatonARROBAhotmail.com> escribió en el mensaje
news:
Pruebalo asi

> SQL = "DELETE * FROM Commandes_temporaires WHERE sessionID=" &
session("sessionID")


Saludos

Enrique Medina
Santiago de Chile


"Enrique" escribió en el mensaje
news:
> hola a todos,
>
> al salir de la sesion (session_onend del GLOBAL.ASA), quiero eliminar


unos
> datos que se han quedado en una tabla temporal pero no se porque no me
> funciona cuando creo que el codigo es correcto.
>
> ¿que es lo que falla? ¿que debo hacer o modificar?
>
> os dejo el codigo:
> <SCRIPT LANGUAGE=VBScript RUNAT=Server>
> Sub Session_OnStart
> 'mientras no se cambie este valor, el usuario no ha logeado. deberemos
usar
> el session.sessionID
> 'temporalmente hasta formalizar el pedido si es que se llega a hacer.
> session("sessionID")= session.SessionID
> end Sub
>
> Sub Session_OnEnd
> call eliminarDatosTablaTemporal 'eliminar los datos de la tabla


temporal
> para esta sesion
> end Sub
>
> 'eliminar los datos de la tabla temporal para esta sesion
> sub eliminarDatosTablaTemporal
> 'nos conectamos a la base de datos
> set oConn=Server.CreateObject("ADODB.Connection")
> oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
> Server.MapPath("datos")
>
> 'ejecutar la consulta accion de eliminacion
> SQL = "DELETE * FROM Commandes_temporaires WHERE sessionID='" &
> session("sessionID") & "'"
> oConn.Execute sql
>
> 'cerrar la conexion
> oConn.Close
> set oConn=nothing
> end sub
> </SCRIPT>
>
> <SCRIPT LANGUAGE=VBScript RUNAT=Server>
> Sub Application_OnStart
> End Sub
> </SCRIPT>
>
> gracias de antemano por su ayuda
>
>
>



Respuesta Responder a este mensaje
#5 Gatón
06/10/2005 - 20:55 | Informe spam
Mira el 28-09-05 el hilo Evento al cerrar pagina

Saludos

Enrique Medina
Santiago de Chile


"Enrique" escribió en el mensaje
news:
gracias pero es exactamente lo que he puesto en mi codigo.

no funciona de ninguna forma:
ni con: session("sessionID")
ni con: session.sessionID

es mas, aunque tenga el campo "sessionID" de mi tabla temporal creado como
texto, aunque lo obvie (lo considero como numero), no me da ni error.
creo que al salir el programa no pasa por aqui al salir de la sesion.

la session se acaba o cuando pasan 20 mn sin actividad del usuario (caduca
la sesion) o cuando el usuario cierra de forma explicita la pagina web.


¿es
asi? ¿estoy confundido? ¿alguna solucion a mi problema?

muchas gracias por su ayuda








"Gatón" <elsupergatonARROBAhotmail.com> escribió en el mensaje
news:
> Pruebalo asi
>
> > SQL = "DELETE * FROM Commandes_temporaires WHERE sessionID=" &
> session("sessionID")
>
>
> Saludos
>
> Enrique Medina
> Santiago de Chile
>
>
> "Enrique" escribió en el mensaje
> news:
> > hola a todos,
> >
> > al salir de la sesion (session_onend del GLOBAL.ASA), quiero eliminar
unos
> > datos que se han quedado en una tabla temporal pero no se porque no me
> > funciona cuando creo que el codigo es correcto.
> >
> > ¿que es lo que falla? ¿que debo hacer o modificar?
> >
> > os dejo el codigo:
> > <SCRIPT LANGUAGE=VBScript RUNAT=Server>
> > Sub Session_OnStart
> > 'mientras no se cambie este valor, el usuario no ha logeado.


deberemos
> usar
> > el session.sessionID
> > 'temporalmente hasta formalizar el pedido si es que se llega a hacer.
> > session("sessionID")= session.SessionID
> > end Sub
> >
> > Sub Session_OnEnd
> > call eliminarDatosTablaTemporal 'eliminar los datos de la tabla
temporal
> > para esta sesion
> > end Sub
> >
> > 'eliminar los datos de la tabla temporal para esta sesion
> > sub eliminarDatosTablaTemporal
> > 'nos conectamos a la base de datos
> > set oConn=Server.CreateObject("ADODB.Connection")
> > oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
> > Server.MapPath("datos")
> >
> > 'ejecutar la consulta accion de eliminacion
> > SQL = "DELETE * FROM Commandes_temporaires WHERE sessionID='" &
> > session("sessionID") & "'"
> > oConn.Execute sql
> >
> > 'cerrar la conexion
> > oConn.Close
> > set oConn=nothing
> > end sub
> > </SCRIPT>
> >
> > <SCRIPT LANGUAGE=VBScript RUNAT=Server>
> > Sub Application_OnStart
> > End Sub
> > </SCRIPT>
> >
> > gracias de antemano por su ayuda
> >
> >
> >
>
>
>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida