ASP, CARRITO DE COMPRAS y GLOBAL.ASA

ilco26
24 de Marzo del 2004
Amo a ve si me explico....
Mecho un carrio con ASP y guardos los datos en access, principalmente guardo la referencia y cantidad del articulo a comprar y descuento la cantidad del stock del articulo.
La cuestion es que cuando un usuario termina la sesion, me gustaria que si no ha comprado lo que tiene en el carrito se vuelva a sumar los stocks a los productos.
He intentado hacerlo (lo del carrito,malpensaossois;) poniendo una sentencia SQL en el Session_OnEnd del archivo global.asa para volver a recuperar el stock, pero ni P. caso, y si lo hago con variables de sesion tamos en las mismas, tendria que poner una sentencia SQL tambien en el mismo sitio no?
Es que cuando se entra en el Session_OnEnd ya se han borrado tosas las variables de sesion incluso la de sessionID?
Muxas garcias

charrosa
24 de Marzo del 2004
yo lo que haria primero seria tener un objeto diccionary por ahi donde guardara todos los registros que el tio quiere comprar y cuando realmente compre volcar a la Bd asi no tienes tanta concurrencia a la Bd y te evitas el problema que dices, salu2

ilco26
24 de Marzo del 2004
es que, el carrito que quiero hacer debe reservarse el producto que el cliente ha escogido mientras dure la sesion del cliente. Si la sesion termina, los productos del carrito deben volver a la base de datos para que otro cliente los pueda coger, asi un producto o esta en la base de datos o en un carrito o esta vendido.

Lo unico que no consigo hacer es que funcione una sentencia SQL dentro del la funcion Session_onEnd que devuelva los producos a la Bd cuando la sesion termine.

Ahora mismo unicamente tengo una sentencia SQL simple para ver si funciona dentro del Sub Session_OnEnd (la sentencia final devolvera los productos del carrito de usuario que ha salido a la base de datos):

Sub Session_OnEnd
Set CBD=Server.CreateObject("ADOdb.Connection")
CBD.Open ("DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" & Server.Mappath("../Basdas/almanzora.mdb"))
CBD.Execute("DELETE * FROM DatosPedidos")
CBD.Close
set CBD =nothing
End Sub

Supuestamente, cada vez que un usuario termina una sesion deberia borrar la tabla "DatosPedidos" no?Pero no hace nada :'(