全部博文(788)
分类:
2009-05-12 16:04:35
delphi社区人气真的不行了!!
一次只能有一个管理员登陆
建议将表EventLogInfo增加一个用户字段来记录登陆的用户。
insert into EventLogInfo values(.....Sql语句一样的写
Parambyname('EvtTime').value := now;
parambyname('EvtContent').value := '动作‘+’用户‘;
create table #LoginoutInfo(logNo char(20),LogTime DateTime,LogStatus char(10))
insert into #LoginoutInfo
select 'admin','2006-12-15 10:25:36','login'
union all select 'admin','2006-12-15 10:55:36','logout'
union all select 'admin','2006-12-15 10:59:10','login'
union all select 'user1','2006-12-15 11:09:20','login'
union all select 'user1','2006-12-15 11:15:11','logout'
create table #event(EvtTime DateTime,EvtContent nvarchar(100))
insert into #event
select '2006-12-12 10:26:07', 'Delete a record'
union all select '2006-12-12 10:26:12', 'add a record'
union all select '2006-12-12 11:01:07', 'backup database'
union all select '2006-12-12 11:10:54', 'Delete a user'
表帮大家建好了,
liaosummer
我明白您的意思,您的意思是说在记录eventlog的时候直接把操作人带上?
是的,
但是现在时间不允许了,
客户赶着要货,所以打算先用语句搞定,然后再改这里!!
特别多谢各位。。。
不知道楼主的意思是不是说,要找出EventLogInfo.EvtTime在LoginoutInfo.LogTime之内的记录还是怎样.这两个应该要有一定的关联的吧??
你都记下了是谁登陆的,记录动作的时候直接+用户名不就完了?
设个全局变量UserName
着急还走弯路。。。
没救啦
select a.Evttime,a.Evtcontent,b.user from table2 a left join table1 b on b.logtime < a.evtime order by b.logtime desc 取小于当前操作时间中的最晚时间处所登陆的管理员用户
不过,上面的几个大侠都说了最好在table2中添加 User记录
注:随手写的没测试!
select top 1 a.Evttime,a.Evtcontent,b.user from table2 a left join table1 b on b.logtime < a.evtime order by b.logtime desc
忘了top1 [sql server]