Avatar billede ban_me Nybegynder
15. maj 2005 - 20:51 Der er 7 kommentarer

Problemer med opdatering i global.asa

Hi experts,

Hvorfor vil mit felt i databasen ikke sættes til false, når jeg logger ud på min side, og dræber alle sessions:

Ydermere kunne jeg godt tænke mig at vide hvordan man fortæller en SQL sætning at den kun skal vise resultater for dagen idag.


Sourcecode:
---
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">



Sub Application_OnStart

End Sub

Sub Application_OnEnd
End Sub

Sub Session_OnStart

session.timeout = 20
     
End Sub



Sub Session_OnEnd
    if session("login") = "true" then
        Set conn = Server.CreateObject("ADODB.Connection")
        DNS = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" + Server.MapPath("../temp/db/nshardball.mdb")
        conn.Open(DNS)
        set opendb = conn
       
      SQL = "UPDATE members SET online = false WHERE id = " & session("memberid")
      conn.execute(SQL)

      conn.close
      set conn = nothing

      end if
 
      End Sub




</script>
Avatar billede busschou Praktikant
16. maj 2005 - 00:43 #1
Det med at vise resultater for dagen idag kræver at du har et dato felt i din tabel
Så laver du blot en sql på følgende måde
Select * From din_tabel Where dit_datofelt = Date
Avatar billede busschou Praktikant
16. maj 2005 - 00:44 #2
Har du tjekket om den sætter online=false efter ca tyve minutter?
Session_OnEnd kører når sessionen dør, bliver abandon.
Det kræver enten at du kalder session.abandon eller sessionen timer out
Som default er session.timeout = 20 min
Avatar billede ban_me Nybegynder
16. maj 2005 - 11:22 #3
Selv efter 10 timer er den stadig ikke sat til false.
Avatar billede busschou Praktikant
16. maj 2005 - 11:29 #4
ok hvis du "destoyer" session("login") som den første så vil den jo aldrig komme ned til din update sql
prøv rette til det her og se om det hjælper:
---

Sub Session_OnEnd
  Set conn = Server.CreateObject("ADODB.Connection")
  DNS = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" + Server.MapPath("../temp/db/nshardball.mdb")
  conn.Open(DNS)
  set opendb = conn
  SQL = "UPDATE members SET online = false WHERE id = " & session("memberid")
  conn.execute(SQL)
  conn.close
  set conn = nothing
End Sub
Avatar billede ban_me Nybegynder
16. maj 2005 - 12:19 #5
Nej det virker heller ikke. Testede den ennda også efter 20 min. men uden held!
Avatar billede ban_me Nybegynder
18. maj 2005 - 18:50 #6
Kan du hjælpe mig til vejs ende ?
Avatar billede busschou Praktikant
18. maj 2005 - 18:58 #7
Har fundet en mulig løsning her
http://www.eksperten.dk/spm/45290
Nederst nede finder man et link til
http://msdn.microsoft.com/library/psdk/iisref/glob2y90.htm
Den side virker så ikke mere men pointen er at der på den side engang har stået
--
Remarks
You cannot call the MapPath method in the Session_OnEnd script.
--
Så prøv med den absolutte sti
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