Hej! jag hade det med men jag bara glömde att skriva med det, men jag provade din variant och den fungerade tyvärr inte heller. Det är inte så att redan Session.SessionID är NULL, sessionen finns ju inte kvar. hmm...Det är inte NULL, men det är det nya numret, Enligt MS skall alla sessionsnummer finnas kvar tills dess session_onEnd har körts färdigt.. Det kan nog stämma..problem med Global.asa?
Jag har problem med global.asa.
Jag vill ta bort poster från en access databas när en session är död.
jag använder den här koden:
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Session_OnEnd
set conn=Server.CreateObject("ADODB.Connection")
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("databas.mdb")
Set del = Conn.Execute("DELETE FROM temp where sesid =" & sid & " ")
conn.Close
Set conn = nothing
End Sub
</SCRIPT>
Med det fungerar inte. Man får ett nytt session nummer men det raderas inte något från databasen. Jag har provat att radera poster med samma koppling i vanlig asp kod och då fungerar den bra, men vaför fungerar den inte här?
Är det någon som vet varför?
Jag är väldigt tacksam för svar, för jag vet inte varför det inte fungerar.
/DanneSv: problem med Global.asa?
Du har inte satt variablen sid. Du kan också ta bort "Set del =".
Fungerar det nu?
<code>
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Session_OnEnd
sid = Session.SessionID
set conn=Server.CreateObject("ADODB.Connection")
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("databas.mdb")
Conn.Execute("DELETE FROM temp where sesid =" & sid & " ")
conn.Close
Set conn = nothing
End Sub
</SCRIPT>
</code>
/JAnneSv: problem med Global.asa?
Jag provade lite till men jag lyckades inte. Nu ser koden ut så här:
<object RUNAT=SERVER SCOPE=Application ID=cn PROGID="ADODB.Connection">
</object>
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Session_OnEnd
set cn=Server.CreateObject("ADODB.Connection")
cn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("databas.mdb")
cn.Execute("DELETE FROM temp where sesid =" & Session.SessionID & " ")
cn.Close
Set cn = nothing
End Sub
</SCRIPT>
Är det någon som ser vad som är fel?
/DanneSv: problem med Global.asa?
Kolla med att visa session.sessionid och se vad det ger..
/PelleSv: problem med Global.asa?
så då måste jag lösa det med en trigger eller går det på något annat sätt?
/DanneSv: problem med Global.asa?
Det betyder att du skall kunna skriva så som du gör...
Tyvärr är praktiken inte lika rolig som teorin, just session_onEnd i global.asa är ett sorgbarn. För mig har det fungera bättre i win2000 än vad det gjorde i NT4 men inte tillräckligt bra så att jag skulle vilja säga att det fungerar..
- magnus
http://www.divxsubtitles.netSv: problem med Global.asa?
Jag tycker att jag har problem med global.asa i 50% av fall...
Jag tackar för alla tips.
/Danne