session_onend中删除数据库数据

本文介绍了使用VBScript实现ASP应用程序中Session管理的方法,包括Session启动时记录在线用户信息及Session结束时清除相应记录的过程。此外,还展示了如何通过ADO连接数据库进行增删操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

截取网上资料:
1、
----------------------------------------------------------------------------
<Script LANGUAGE = VBScript RUNAT = Server>
Sub Session_OnStart
set rs1=conn.execute("select * from online where oname='"&name&"'")
if rs1.eof and rs1.bof then '如果为空,则说明该用户没有登陆,插入该用户名和当前时间

Conn.Execute("Insert into online(oname,odata,SessionID) Values('"&request("admin")&"','"&Cstr(cdate(now()))&"'," & Session.SessionID & ")")
End Sub

Sub Session_OnStart
Response.Expires = -100
Server.ScriptTimeout = 10
Session.Timeout = 5

End Sub

Sub Session_OnEnd
SET sqlConn = SERVER.CREATEOBJECT("ADODB.Connection")
sqlConn.Open "Provider=sqloledb;Data Source=192.168.0.3;Initial Catalog=;User Id=sa;Password=;"

sSQL = "DELETE From online WHERE SessionID = " & Session.SessionID
SQLConn.Execute(sSQL)
sqlConn.Close
Set sqlConn = Nothing
End Sub
</Script>
------------------------------------------------------------------------
2、
-----------------------------------------------------------------------
Sub Session_OnEnd()
Application.Lock
Application("CurrentUsers")=Application("CurrentUsers")-1
Application.UnLock
set con=server.CreateObject("adodb.connection")

' comm="DRIVER={SQL Server};SERVER=(local);UID=psforumadm;PASSWORD=pabx&*(;DATABASE=psforum"
'Con.Open comm
con.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db1.mdb")

UserName = Session("UserName")
sql="select * from Online where NickName='"&UserName&"'"
set rs=Server.CreateObject ("AdoDb.RecordSet")

rs.Open sql, con, 2, 3

If NOT(rs.Eof or rs.Bof )Then
rs.Delete
rs.UpDate
End If

rs.Close
con.close

If Application("Stats").Exists(Session.SessionID) then
Application.Lock
Application("Stats").Remove(Session.SessionID)
Application.Unlock
end if
end sub
在session_onend()过程里面不能用sever.mappath,改成绝对路径,等到session.timeout之后再看看,应该能行了 在msdn帮助里看到,在Session_OnEnd 事件里不能调用mapmath过程
application("path")=server.mappath("aa.mdb")
在application的start事件上加上这么一句就好了
------------------------------------------------------------------------------
3、
---------------------------------------------------------------------------

net_lover(【孟子E章】)

<Script LANGUAGE = VBScript RUNAT = Server>
Sub Session_OnStart
'清空LoginUser表
End Sub

Sub Session_OnStart
Response.Expires = -100
Server.ScriptTimeout = 10
Session.Timeout = 1
SET sqlConn = SERVER.CREATEOBJECT("ADODB.Connection")
sqlConn.Open "Provider=sqloledb;Data Source=.;Initial Catalog=phedu;User Id=sa;Password=;"

sSQL = "Insert LoginUser (SessionID) Values(" & Session.SessionID & ")"
SQLConn.Execute(sSQL)
sqlConn.Close
Set sqlConn = Nothing
End Sub

Sub Session_OnEnd
SET sqlConn = SERVER.CREATEOBJECT("ADODB.Connection")
sqlConn.Open "Provider=sqloledb;Data Source=.;Initial Catalog=phedu;User Id=sa;Password=;"

sSQL = "DELETE From LoginUser WHERE SessionID = " & Session.SessionID
SQLConn.Execute(sSQL)
sqlConn.Close
Set sqlConn = Nothing
End Sub
</Script>
-----------------------------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值