C#更新数据库中的计时器

C#更新数据库中的计时器,c#,datetime,timer,C#,Datetime,Timer,基本上我有一个计时器,我想知道是否有办法创建一个单独的计时器,让它每5分钟更新一次。我不知道如何使用新数据库。当您获取日期时间时,最好创建一个名为的字段,并将其设置为DATEADD(分钟,5,GETDATE())。这将在将来将该字段中的时间设置为5分钟。如果需要timeleft,请使用DATEDIFF添加一个计算列timeleft。下面是一个例子: CREATE TABLE [FOO] ( [when_I_get_out] datetime, [timeleft] AS CASE W

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

当您获取日期时间时,最好创建一个名为
的字段,并将其设置为
DATEADD(分钟,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。

您最好在退出时创建一个名为
的字段
datetime,并将其设置为
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。

  • 如果在mailtime
中添加一个额外的字段
,除了字段
timeleft
  • 然后,您将创建一个SQL作业,该作业每分钟运行一次,用剩余时间更新“TimeLeft”字段,如本脚本所示

    更新[TableName]设置TimeLeft=DATEDIFF(分钟,InJailTime,GETDATE())

      • 如果在mailtime
    中添加一个额外的字段
    ,除了字段
    timeleft
  • 然后,您将创建一个SQL作业,该作业每分钟运行一次,用剩余时间更新“TimeLeft”字段,如本脚本所示

    更新[TableName]设置TimeLeft=DATEDIFF(分钟,InJailTime,GETDATE())


  • 并且这些字段位于navicat sql数据库中,因此您希望如何使用这些字段。。查询只能按照我上面使用它们的方式使用,并且字段位于navicat sql数据库中,因此您认为这将如何工作。。查询只能按照我上面使用它们的方式使用。不要认为在数据库中节省剩余时间是最好的方法。这样,您每次都必须检查数据库并更新该字段。将结束时间放在数据库中并检查是否已通过是更好、更有效的方法。不要认为在数据库中保存剩余时间是最好的方法。这样,您每次都必须检查数据库并更新该字段。输入结束时间并检查是否已通过,这样做会更好、更高效。是的,这正是我想要的时间,你的信息是什么?你可以检查此链接如何创建脚本以每分钟运行,因为SQL作业的最低频率为天是的,这正是我想要的时间,你的信息是什么?你可以检查此链接将创建脚本的方式链接到每分钟运行一次,因为SQL作业的最小频率为天