使用INSERT命令和执行查询将当前日期/时间添加到SQL Server表的首选方法是什么?我期待像......这样的东西。
cmd.Parameters.Add("@theDate", SqlDbType.VarChar, 20)
cmd.Parameters("@theDate").Value = "getdate()"
答案 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。