På rulande sten växer ingen mossa. Här kommer en fråga om Global.asa

ASP

3 svar · 245 visningar · startad av klementin

Medlem sedan aug. 2001117 inlägg
Trådstart#1

Varför uppdaterar inte min Global.asa databasen som jag vill? Filen funkar förövrigt bra (med app. Online ialla fall). Här är koden:

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
Application("Online") = 0
End Sub
Sub Session_OnStart
Session.TimeOut = 1
Session("Start") = Now
Application.Lock
Application("Online") = Application("Online") + 1
Application.UnLock
End Sub
Sub Session_OnEnd
Application.Lock
Application("Online") = Application("Online") - 1
Application.UnLock

DBPath = Server.MapPath("\MINSÖKVÄGTILLDATABASEN.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBPath & ";"
SQL = "UPDATE UserInfo SET "
SQL = SQL & "WebUserActive = 'Nej' "
SQL = SQL & "WHERE WebUserName = '" & Session("WebUserName") & "' "
Conn.Execute(SQL)

Session.Abandon

End Sub

</SCRIPT>

Jag vet att detta ämne är ur vattnat men jag har läst alla möjliga inlägg angående detta men får det ialla fall inte att fungera.

Tack på förhand

Medlem sedan mars 20002 836 inlägg
#2

Hello,

skulle tro att det är denna rad som spökar:

SQL = SQL & "WHERE WebUserName = '" & Session("WebUserName") & "' "

själv skulle jag vid en inloggning spara Session.SessionID i ett fält i databasen och sedan verifiera mot det när sessionen slutar.

cya,
PatrikB

Medlem sedan apr. 200171 inlägg
#3

Du har inget application.lock / unlock här...

Sub Application_OnStart
Application("Online") = 0
End Sub

Medlem sedan aug. 2001117 inlägg
#4

Nu har jag gjort så här att när man loggar in så uppdateras ett fält i databasen med personens sessions ID sen skrev jag så här i Global.asa:

DBPath = Server.MapPath("\SÖKVÄG.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBPath & ";"
SQL = "UPDATE UserInfo SET "
SQL = SQL & "WebUserActive = 'Nej' "
SQL = SQL & "WHERE WebUserSessionID = '" & Session.SessionID & "' "
Conn.Execute(SQL)

Men icke sa Nicke det fungerar inte, men det vara kanske inte så här du menade?

393 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
117 ms — deklarationer (db)
135 ms — hämta statistik (db)
128 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)