0

使用 INSERT 命令和 executenonquery 将当前日期/时间添加到 SQL Server 表中的首选方法是什么?我期待像...

        cmd.Parameters.Add("@theDate", SqlDbType.VarChar, 20)
        cmd.Parameters("@theDate").Value = "getdate()"
4

5 回答 5

2

首先,您应该对列使用 DateTime 数据类型。其次,在该列上,您可以使用 DefaultValue=getdate() 约束,因此它仅在 DB 中定义。应用程序不需要插入它。

于 2011-07-08T21:29:11.130 回答
1
cmd.Parameters("@theDate").Value = Now()
于 2011-07-08T21:28:07.087 回答
1

怎么样...

cmd.Parameters.Add("@theDate", SqlDbType.DateTime)
cmd.Parameters("@theDate").Value = DateTime.Now
于 2011-07-08T21:28:39.917 回答
1

不需要日期/时间参数。

每当调用存储过程时,您只需在服务器级别更新日期/时间字段。

如果您希望能够将日期/时间字段更新为不同于当前时间的内容,那么您可以在存储过程中添加一个可选参数;这样,您的服务器可以在它为空时将其更新为 getdate(),或者您可以在需要特定时间时从应用程序传递它。

Tomas 之所以强调在服务器级别设置时间的重要性,是因为时区和其他因素。

于 2011-07-09T08:00:22.777 回答
0

我想看看您是否可以将文本current_timestamp直接放入 sql 代码中,并完全跳过参数。如果你不能,那么是时候使用 DateTime.Now。

于 2012-03-09T14:30:10.410 回答