对于每个成功的登录,都有一个“已登录”条目;对于每个成功的注销,都有一个“已注销”条目,但是如果用户关闭浏览器,则 未捕获“已注销”事件,这是可以接受的,但要解决此问题,我想要一个虚拟条目,该条目显示同一用户的“已注销” 有什么办法可以在2008 r2中使用sql查询来处理它?</ p>
CREATE TABLE [dbo].[ActivityLog](
[UserID] [nvarchar](10) NOT NULL,
[LogDate] [datetime] NOT NULL,
[Activity] [varchar](500) NULL,
)
insert into [ActivityLog] values ('Maker-CO','2019-05-20 11:57:42.500','Logged-in')
insert into [ActivityLog] values ('Maker-CO','2019-05-20 12:39:06.203','Logged-out')
insert into [ActivityLog] values ('Maker-CO','2019-05-20 12:41:48.537','Logged-in')
insert into [ActivityLog] values ('Maker-CO','2019-05-20 12:42:32.467','Logged-in')
下面是我的选择命令
select userid,Logdate,activity from activitylog order by logdate
但是我想要输出为
userid Logdate activity
maker-co 2019-05-20 11:57:42.500 Logged-in
maker-co 2019-05-20 12:39:06.203 Logged-out
maker-co 2019-05-20 12:41:48.537 Logged-in
maker-co 2019-05-20 12:41:48.537 Logged-out
maker-co 2019-05-20 12:42:32.467 Logged-in
答案 0 :(得分:0)
您可以尝试使用JS。
window.onunload = function () {
//logout code or AJAX func. here...
}
如果要使用服务器端功能注销,则应使用ajax
$.ajax({
type: "post",
url: <<PAGE_URL>>/<<FUNC_NAME>>,
contentType: "application/json; charset=utf-8",
data: <<if you use parameter>>,
dataType: "json",
success: function(result)
{
//your code
},
error: function(result)
{
alert('error occured');
alert(result.responseText);
window.location.href="XYZ.aspx?Exception="+result.responseText;
},
async: true
});