Trådstart 19 sep. 2001 21:48 #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
P PatrikB Medlem sedan mars 2000 2 836 inlägg 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
C cherub Medlem sedan apr. 2001 71 inlägg Du har inget application.lock / unlock här...
Sub Application_OnStart
Application("Online") = 0
End Sub
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?