Avatar billede cbadk Novice
23. december 2005 - 12:42 Der er 5 kommentarer og
1 løsning

On_SessionEnd Datebase opdateringsproblem

Hejsa

Jeg kører på en lejet server. Derfor kan jeg ikke se hvad der sker i global.asa.

Denne kode prøver jeg at eksekvere:
Sub Session_OnEnd

IF Session("user_guid") = "" then
else
set conn = server.createobject("ADODB.connection")
conn.Open("DBQ=c:\minedatabase\portal.mdb;UID=; Driver={Microsoft Access Driver (*.mdb)};" )
UserOnlineUPD_RS = "UPDATE users SET user_online=false where user_guid=" & Session("user_guid")
conn.execute( UserOnlineUPD_RS )
end if

END SUB

Den vil ikke opdatere Min sql streng!

Nogle ide'r til hvad det kan være ?
Avatar billede luzk Nybegynder
23. december 2005 - 12:53 #1
For det første er det ikke godt med en if blok uden noget der skal gøres, så prøv at lave dit script om til

Sub Session_OnEnd

IF Session("user_guid") <> "" then
set conn = server.createobject("ADODB.connection")
conn.Open("DBQ=c:\minedatabase\portal.mdb;UID=; Driver={Microsoft Access Driver (*.mdb)};" )
UserOnlineUPD_RS = "UPDATE users SET user_online=false where user_guid=" & Session("user_guid")
conn.execute( UserOnlineUPD_RS )
end if

END SUB

Derudover er det en god idé at teste dit script inden du smider det i global.asa, så prøv at smide dit script i en asp fil og eksekver følgende (uden de linienumre jeg har tilføjet):
1. Response.Write(Session("user_guid"))
2. IF Session("user_guid") <> "" then
3. set connTest = server.createobject("ADODB.connection")
4. conn.Open("DBQ=c:\minedatabase\portal.mdb;UID=; Driver={Microsoft Access Driver (*.mdb)};" )
5. UserOnlineUPD_RS = "UPDATE users SET user_online=false where user_guid=" & Session("user_guid")
6. conn.execute( UserOnlineUPD_RS )
7. end if

linie 1 tester at der rentfaktisk er noget i dit sessions object, og i det tilfælde udskrives det. Er det tilfældet udføres dit script, og du vil kunne se om der kommer en runtime error.

/Lusk
Avatar billede luzk Nybegynder
23. december 2005 - 12:54 #2
Glemte lige at nævne du skal checke hvad din session.timeout er - typisk er den 20 min, så du skal huske at der går 20 min +/- et par minutter fra du ikke benytter din session længere, til Session_OnEnd rent faktisk kaldes.

/Lusk
Avatar billede cbadk Novice
27. december 2005 - 07:26 #3
Hejsa

Jeg har desværre allerde prøvet at køre det i et alm. asp dokument og så virker det. Men bare ik i min global.asa

Derfor ville jeg gerne ha haft adgang til min server log.

Prøver at lege lidt videre med det....

Har pt. også sat min Session.timeout = 1
Avatar billede cbadk Novice
03. april 2006 - 21:13 #4
:D har fået min egen server nu. Så nu kan jeg se hvad problemet var.

Problemet var vis den returnerde Null værdi.

Derfor har jeg bare erstattet den "" med Null
Avatar billede cbadk Novice
03. april 2006 - 21:13 #5
svar ? :)
Avatar billede cbadk Novice
07. maj 2006 - 19:32 #6
lusk er lusket ..og svarer ikke!
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