SQLServer INSERT getdate()函数使用参数

时间:2011-07-08 21:25:35

标签: asp.net sql-server vb.net sqlparameters executenonquery

使用INSERT命令和执行查询将当前日期/时间添加到SQL Server表的首选方法是什么?我期待像......这样的东西。

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

5 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

cmd.Parameters("@theDate").Value = Now()

答案 2 :(得分:1)

怎么样......

cmd.Parameters.Add("@theDate", SqlDbType.DateTime)
cmd.Parameters("@theDate").Value = DateTime.Now

答案 3 :(得分:1)

不需要日期/时间参数。

无论何时调用存储过程,您只需更新服务器级别的日期/时间字段。

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

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

答案 4 :(得分:0)

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