使用 INSERT 命令和 executenonquery 将当前日期/时间添加到 SQL Server 表中的首选方法是什么?我期待像...
cmd.Parameters.Add("@theDate", SqlDbType.VarChar, 20)
cmd.Parameters("@theDate").Value = "getdate()"
使用 INSERT 命令和 executenonquery 将当前日期/时间添加到 SQL Server 表中的首选方法是什么?我期待像...
cmd.Parameters.Add("@theDate", SqlDbType.VarChar, 20)
cmd.Parameters("@theDate").Value = "getdate()"
首先,您应该对列使用 DateTime 数据类型。其次,在该列上,您可以使用 DefaultValue=getdate() 约束,因此它仅在 DB 中定义。应用程序不需要插入它。
cmd.Parameters("@theDate").Value = Now()
怎么样...
cmd.Parameters.Add("@theDate", SqlDbType.DateTime)
cmd.Parameters("@theDate").Value = DateTime.Now
不需要日期/时间参数。
每当调用存储过程时,您只需在服务器级别更新日期/时间字段。
如果您希望能够将日期/时间字段更新为不同于当前时间的内容,那么您可以在存储过程中添加一个可选参数;这样,您的服务器可以在它为空时将其更新为 getdate(),或者您可以在需要特定时间时从应用程序传递它。
Tomas 之所以强调在服务器级别设置时间的重要性,是因为时区和其他因素。
我想看看您是否可以将文本current_timestamp
直接放入 sql 代码中,并完全跳过参数。如果你不能,那么是时候使用 DateTime.Now。