Avatar billede sorenmt84 Juniormester
09. marts 2003 - 20:07 Der er 8 kommentarer og
1 løsning

Global.asa og access database

Jeg skal bruge en script til global.asa, som kan gå ind og opdatere en access database når en session udløber...

Det eneste jeg har i min global.asa fil nu, er at jeg har sat timeout til 25 min...

Det skal være sådan så når de 25 min er gået, skal den gå ind og opdatere min database til at en bruger ikke længere er online!

Oplysninger:
Db navn: db.mdb
Tabel: brugere
Felt: online (ja/nej felt, som skal sættes til FALSE)
logaf: Skal sættes til now()

Jeg ved næsten ingen ting om at arbejde i global.asa, så det jeg søger skal være et færdigt script, og ikke en masse links til hvor jeg kan læse alt muligt om global.asa!!!
Avatar billede gamemaster Nybegynder
09. marts 2003 - 20:15 #1
Håber at du kan bruge dette til noget
Hilsen Gamemaster
<SCRIPT LANGUAGE=VBScript RUNAT=Server>

Sub Application_OnStart
    ' viser at vi starter fra 0 - kan ændres for evt snyd(!) ;o)
    Application("ActiveUsers") = 0

End Sub

Sub Session_OnStart
    ' så er timeout'en på en session 3 minutter - kan ændres...
    Session.Timeout = 3
    Session("Start") = Now
    Application.Lock
        Application("ActiveUsers") = Application("ActiveUsers") + 1
    Application.UnLock
End Sub

Sub Session_OnEnd
    Application.Lock
        Application("ActiveUsers") = Application("ActiveUsers") - 1
    Application.UnLock
End Sub

</SCRIPT>
Avatar billede sorenmt84 Juniormester
09. marts 2003 - 20:17 #2
Det script tæller bare online users, det er ikke det jeg skal bruge... Jeg skal ha opdateret en database!
Avatar billede Spotgun Seniormester
09. marts 2003 - 20:25 #3
Du skal nok være opmærksom på, at du ikke altid er garanteret at dit script køres når en session udløber. Det er en kendt fejl mellem Global.asa's Session_OnEnd og databaser...
Avatar billede hossein Nybegynder
09. marts 2003 - 20:54 #4
Det er en update sætning som skal tilføjes i global.asa

Sub Session_OnEnd
    set conn = Server.CreateObject ("ADODB.Connection")
    conn.Open Application("connString")

        'Updatere rekordsetet når brugeren logger ud og skriver logout tiden
        'og sætter brugeren OFFLine
    query = "UPDATE User_LogTime SET Logout_Time=#" & now() & "#, offline=True "
    query = query & "WHERE offline=False AND SID=" & Session.SessionID &_
                " AND user_id=" & Session("member")
   
    conn.Execute (query)
    conn.Close
    set conn = Nothing   
End Sub
Avatar billede hossein Nybegynder
09. marts 2003 - 21:11 #5
Du har selfølgrlig denne sætning Application_OnStart:
Sub Application_OnStart
    '    The connection string to the mdb.
    Application("connString") = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=stien til din DB."
End Sub
Avatar billede hossein Nybegynder
09. marts 2003 - 21:37 #6
Hjalp det?
Avatar billede sorenmt84 Juniormester
10. marts 2003 - 08:34 #7
Det ser meget fornuftigt ud... Gider du sætte det hele sammen som det skal være???
Avatar billede hossein Nybegynder
10. marts 2003 - 20:36 #8
Hvad mener du? mener du hele løsningen, det er på 4 sider.
Avatar billede sorenmt84 Juniormester
15. november 2003 - 13:08 #9
Jeg kan nu ikke få noget af det til at virke... og nu er der gået så lang tid, så jeg lukker
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