Sub Session_OnEnd
Set Objconn = Server.CreateObject("ADODB.Connection")
Objconn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPathXXX/XXX")
Objconn.open
strSQL = "INSERT INTO T_REGTID(F_REGTID_START, F_REGTID_SLUT, F_REGTID_TOTAL, F_USER_ID)VALUES(#"&Session("dteRegStart")&"#, #"&Now()&"#, #"&(Now()-Session("dteRegStart"))&"#, "&Session("MMID")&")"
ObjConn.execute(strSQL)
ObjConn.Close
set objConn = nothing
End Sub
INSERT INTO T_REGTID(F_REGTID_START, F_REGTID_SLUT, F_REGTID_TOTAL, F_USER_ID)VALUES(#2001-07-28 15:10:41#, #2001-07-28 15:13:38#, #2,04861110978527E-03#, 1)
Microsoft JET Database Engine error '80040e14'
Syntaxfel i datum i frågeuttrycket '#2'.
/abandon.asp, line 7
det blir alltså fel när jag ska få fram den totala tiden....hur får jag fram den rätt??
Tiden har jag fixat Tack LarsG, men jag har ett annat problem:
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Session_OnEnd
tmeLogOn = Session("dteRegStart")
tmeLoggade = f_tmeLoggad(tmeLogOn)
Set Objconn = Server.CreateObject("ADODB.Connection")
Objconn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../data/medimatch.mdb")
Objconn.open
strSQL = "INSERT INTO T_REGTID(F_REGTID_START, F_REGTID_SLUT, F_REGTID_TOTAL, F_USER_ID)VALUES(#"&Session("dteRegStart")&"#, #"&Now()&"#, #"&Cdate(tmeLoggade)&"#, "&Session("MMID")&")"
Response.Write strSQL
ObjConn.execute(strSQL)
ObjConn.Close
set objConn = nothing
End Sub
Function f_tmeLoggad(tmeLogOn)
tmeLogOff = Now()
tmeDiff = DateDiff("s", tmeLogOn,tmeLogOff)
tmeDiffsek = Fix(tmeDiff mod 60)
tmeDiffmin = Fix(tmeDiff / 60) mod 60
tmeDifftimme = Fix(tmeDiff / 3600)
If tmeDiffsek < 10 Then tmeDiffsek = "0"&tmeDiffsek
If tmeDiffmin < 10 Then tmeDiffmin = "0"&tmeDiffmin
If tmeDifftimme < 10 Then tmeDifftimme = "0"&tmeDifftimme
f_tmeLoggad = tmeDifftimme&":"&tmeDiffmin&":"&tmeDiffsek
End Function
</SCRIPT>
Så här ser min global.asa ut nu men när jag kör en Session.Abandon så kommer det inte in något i db.mdb nån som ser nåt fel....?? (Jag har kört denna på en vanlig .asp och det har gått bra)
Nu har jag testat så här i en fil som heter abandon.asp och den ligger i samma rotnivå som Global.asa:
<%
Dim tmeLogOn, tmeLoggad
Sub test
tmeLogOn = Session("dteRegStart")
tmeLoggad = f_tmeLoggad(tmeLogOn)
Set Objconn = Server.CreateObject("ADODB.Connection")
Objconn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../data/XXX.mdb")
Objconn.open
strSQL = "INSERT INTO T_REGTID(F_REGTID_START, F_REGTID_SLUT, F_REGTID_TOTAL, F_USER_ID)VALUES(#"&Session("dteRegStart")&"#, #"&Now()&"#, #"&Cdate(tmeLoggad)&"#, "&Session("MMID")&")"
Response.Write strSQL
ObjConn.execute(strSQL)
ObjConn.Close
set objConn = nothing
End Sub
Function f_tmeLoggad(tmeLogOn)
tmeLogOff = Now()
tmeDiff = DateDiff("s", tmeLogOn,tmeLogOff)
tmeDiffsek = Fix(tmeDiff mod 60)
tmeDiffmin = Fix(tmeDiff / 60) mod 60
tmeDifftimme = Fix(tmeDiff / 3600)
If tmeDiffsek < 10 Then tmeDiffsek = "0"&tmeDiffsek
If tmeDiffmin < 10 Then tmeDiffmin = "0"&tmeDiffmin
If tmeDifftimme < 10 Then tmeDifftimme = "0"&tmeDifftimme
f_tmeLoggad = tmeDifftimme&":"&tmeDiffmin&":"&tmeDiffsek
End Function
Call test
%>
Och den funkar precis som den ska..
Men kör jag på detta vis i global.asa:
Dim tmeLogOn, tmeLoggad
Sub Session_OnEnd
tmeLogOn = Session("dteRegStart")
tmeLoggade = f_tmeLoggad(cdate(tmeLogOn))
Set Objconn = Server.CreateObject("ADODB.Connection")
Objconn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../../data/medimatch.mdb")
Objconn.open
strSQL = "INSERT INTO T_REGTID(F_REGTID_START, F_REGTID_SLUT, F_REGTID_TOTAL, F_USER_ID)VALUES(#"&tmeLoggOn&"#, #"&Now()&"#, #"&tmeLoggade&"#, "&Session("MMID")&")"
ObjConn.execute(strSQL)
ObjConn.Close
set objConn = nothing
End Sub
Function f_tmeLoggad(tmeLogOn)
tmeLogOff = Now()
tmeDiff = DateDiff("s", tmeLogOn,tmeLogOff)
tmeDiffsek = Fix(tmeDiff mod 60)
tmeDiffmin = Fix(tmeDiff / 60) mod 60
tmeDifftimme = Fix(tmeDiff / 3600)
If tmeDiffsek < 10 Then tmeDiffsek = "0"&tmeDiffsek
If tmeDiffmin < 10 Then tmeDiffmin = "0"&tmeDiffmin
If tmeDifftimme < 10 Then tmeDifftimme = "0"&tmeDifftimme
f_tmeLoggad = tmeDifftimme&":"&tmeDiffmin&":"&tmeDiffsek
End Function
Så blir inget inlagt.....VARFÖR (snälla hjälp mig *ynklig*)
jo, men inte förrän absolut sist.
gör alltid en response.redirect efter abandon, för oberoende av var i koden du lägger abandon körs det sist av asp-kod.
ok...men det löser inte mitt problem.....nu har jag en simpel kod fnutt på session_OnEnd:
Sub Session_OnEnd
Set Objconn = Server.CreateObject("ADODB.Connection")
Objconn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../../data/XXX.mdb")
Objconn.open
strSQL = "INSERT INTO T_REGTID(F_REGTID_TOTAL)VALUES(#"&Now()&"#)"
ObjConn.execute(strSQL)
ObjConn.close
End Sub
den vet jag funkar...men det kommer inte in något i db ändå..... *FAN*
267 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91