Avatar billede serial69 Nybegynder
21. maj 2001 - 20:47 Der er 10 kommentarer

hur rensa en tabell genom session_onend

Hej.
Någon som vet har jag rensar en temptabell med session_onend?
Just nu testar jag så här:
<OBJECT RUNAT=Server SCOPE=Application ID=cn PROGID=\"ADODB.Connection\">
</OBJECT>

<script language=vbscript runat=server>
Sub Session_OnEnd

cn.Open \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"& Server.MapPath(\"db/shop.mdb\")
sql=\"DELETE * FROM Temptab WHERE SID=\" & session.sessionid
cn.execute(sql)
cn.close
set cn=nothing
End Sub
</script>
och det funkar inte alls bra...temptab töms inte...

Någon som vet hur man gör??
Tomas
Avatar billede burningice Nybegynder
21. maj 2001 - 21:04 #1
du skal bruge EXACT sti i din global.asa, altså ikke Server.MapPath(\"db/shop.mdb\") men f.eks. c:\\inetpub\\wwwroot\\db\\shob.mdb
Avatar billede ricardo Nybegynder
21. maj 2001 - 21:05 #2
Session_OnEnd er temmelige upålidelig. Man kan kun være sikker på, at den fungerer når folk logger selv af.

Forresten: hvordan kan du bruge sessionid\'et fra en session der netop er slut?
Avatar billede serial69 Nybegynder
21. maj 2001 - 22:31 #3
nä..det funkar inte med exakt sökväg heller...nån som vet hur man gör??.....måste tömma temptabellen med det sission.sessionid när dom loggar av \"fel\".....

Tomas
Avatar billede burningice Nybegynder
21. maj 2001 - 22:47 #4
ricardo>> man kan godt bruge session i en session_onend handling... selv har jeg følgende SQL sætning strSQL = \"SELECT * FROM users where (username = \'\"& session(\"useronline\") &\"\')\" i min global.asa og det virker FINT
Avatar billede serial69 Nybegynder
21. maj 2001 - 23:26 #5
joo...det är ju jättebra att det fungerar, men hur ska jag göra för att mitt ska fungera....kan ju inte ha en massa poster kvar i databasen när nästa kund kommer in och ska handla...och om han då oxå hoppas ur \"fel\"...då blir det jättekaos...

Tomas
Avatar billede burningice Nybegynder
21. maj 2001 - 23:42 #6
okay... har du prøvet at skrive ud din sessionid på en testside??

altså response.write session.sessionid, svarer det til en post der findes i din db??
Avatar billede serial69 Nybegynder
21. maj 2001 - 23:51 #7
jodå...posten finns i temptab.....man tycker ju att det inte ska vara så svårt...alla webshoppar måste ju ha nåt liknande...

Tomas
Avatar billede burningice Nybegynder
22. maj 2001 - 13:03 #8
det er det altså heller ikke... jeg gør det jo selv... kunne du evt. komme med HELE din global.asa her??
Avatar billede serial69 Nybegynder
22. maj 2001 - 15:16 #9
nu har jag ändrat så att den pekar \"hårt\" till databasen, men det funkar ändå inte...
detta är allt jag har i global.asa...

<OBJECT RUNAT=Server SCOPE=Application ID=cn PROGID=\"ADODB.Connection\">
</OBJECT>

<script language=vbscript runat=server>
Sub Session_OnEnd

cn.Open \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"d:\\shop\\db\\shop.mdb\")
sql=\"DELETE * FROM Temptab WHERE SID=\" & session.sessionid
cn.execute(sql)
cn.close
set cn=nothing
End Sub
</script>
Avatar billede burningice Nybegynder
22. maj 2001 - 15:43 #10
okay... prøv med denne istedet

<script language=vbscript runat=server>
Sub Session_OnEnd
set cn = Server.CreateObject(\"ADODB.Connection\")
cn.Open \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"d:\\shop\\db\\shop.mdb\")
sql=\"DELETE * FROM Temptab WHERE SID=\" & session.sessionid
cn.execute(sql)
cn.close
set cn=nothing
End Sub
</script>


Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester