3

我做了一个表格订阅表格。插入数据时,我会将订阅日期和时间放在那里。我们应该将订阅日期时间放在代码后面还是 mssql 服务器中作为默认值。

4

2 回答 2

3

我认为这是个人选择,尽管我总是在 SQL 中使用CURRENT_TIMESTAMP

我的理由是为什么要为您的查询添加一个并不真正需要的额外参数,它只是您必须生成的额外数据。

正如已经提到的,在代码隐藏中添加它可能有助于代码的可读性,但我不同意,当你调用一个过程时,你并不总是需要知道它在存储什么以及它是如何做的,你只需要知道它做了什么。

作为一个例子,我有很多程序可以编辑我的数据库中的内容,作为一项附带任务,它们还更新审计表,所以我有一个正在做的事情的日志。任何调用这些程序的程序员都不需要知道这一点,因为程序的主要功能是在主表中插入或编辑数据,生成的审计跟踪只是关于数据的数据,与程序员正在做的事情无关。

如果我将所有审计参数添加到代码中的每个 SP,那么将有 5-6 个额外的参数,这只会使我的代码隐藏变得混乱并使事情变得更加复杂。

在您的场景中,将数据插入数据库的人是否需要知道它记录了插入数据的时间?我猜可能不是,所以没有真正需要在代码隐藏中生成日期。

于 2012-05-16T09:42:28.067 回答
0

如果您将应用程序托管在服务器(共享托管)中,请尝试以 UTC 格式存储日期和时间。您可以使用 GETUTCDATE() 以 UTC 格式存储日期时间。

于 2012-05-16T11:59:40.873 回答