是否可以在数据库中保持运行的计时器?

时间:2014-04-03 04:25:53

标签: c# sql time timer stopwatch

是否可以在数据库中保留正在运行的计时器?

例如。假设我创建了一个定时器实体,可以保存运行定时器的单个记录?

据我所知,存储在数据库中的东西必须是静态的。那么有没有办法在db中保留非静态记录?

2 个答案:

答案 0 :(得分:2)

.NET中的所有秒表类都会记下启动秒表的时间,然后当你查看结果时它会从停止/当前时间中减去开始时间。

就像

一样简单
create table Stopwatches
(
    Id int identity(1,1) primary key clustered,
    StartTime DateTime not null,
    EndTime DateTime null
)

启动秒表

insert into Stopwatches (StartTime) values (GetDate())
select @@IDENTITY as StopwatchId; 

停止秒表

update Stopwatches
set EndTime = GetDate()
where id = @stopwatchId

查看已过去的时间

select DateDiff(second, StartTime, EndTime) as Elapsed where id = @stopwatchId

答案 1 :(得分:1)

使用虚拟表

试试这个

http://sqlite.org/lang_createvtab.html

它解释了他们关于虚拟表,但我认为你不能在db

中做非静态