C#更新DB中的计时器

时间:2017-05-07 12:51:56

标签: c# datetime timer

对,基本上我有一个计时器,我想知道是否有办法创建一个单独的计时器,使其每5分钟更新一次。我不知道如何使用新数据库。

2 个答案:

答案 0 :(得分:2)

您最好创建一个名为when_I_get_out日期时间的字段,并将其设置为DATEADD(Minute, 5, GETDATE())。这将在该字段中将时间设置为将来的5分钟。如果您需要timeleft,请使用DATEDIFF添加计算列timeleft。这是一个例子:

CREATE TABLE [FOO] (
   [when_I_get_out] datetime,
   [timeleft] AS CASE WHEN GETDATE() > [when_I_get_out] THEN 0 ELSE DATEDIFF(Minute, GETDATE(), when_I_get_out) END
)

INSERT INTO [FOO] ([when_I_get_out]) VALUES (DATEADD(Minute, 5, GETDATE()));

使用此功能,timeleft将是剩余的分钟数,但如果时间已到,则为0。

答案 1 :(得分:0)

  • 除了字段InJailTime
  • 之外,如果添加额外字段timeleft,该怎么办?
  • 然后您将创建一个SQL作业,每隔一分钟运行一次,以使用此脚本中显示的剩余时间更新“TimeLeft”字段

    UPDATE [TableName] SET TimeLeft = DATEDIFF(MINUTE,InJailTime,GETDATE())