使用参数的 SQLServer INSERT getdate() 函数

发布于 2024-11-19 07:34:26 字数 225 浏览 3 评论 0原文

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

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

What is the preferred method of adding the current date/time into an SQL Server table with INSERT Command and executenonquery? I'm expecting something like ...

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

心的憧憬 2024-11-26 07:34:26

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

First of all, you should use DateTime data type for column. Second, on that column you can use DefaultValue=getdate() constraint, so it is defined only in DB. Application do not need to insert it.

一绘本一梦想 2024-11-26 07:34:26

怎么样...

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

How about...

cmd.Parameters.Add("@theDate", SqlDbType.DateTime)
cmd.Parameters("@theDate").Value = DateTime.Now
一场信仰旅途 2024-11-26 07:34:26
cmd.Parameters("@theDate").Value = Now()
cmd.Parameters("@theDate").Value = Now()
尾戒 2024-11-26 07:34:26

不需要日期/时间参数。

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

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

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

The date/time parameter is NOT needed.

Anytime the stored procedure is called, you just update the date/time field at the server level.

If you want to be able to update the date/time field to something OTHER than the current time then you can add an optional parameter on the stored procedure; this way you server can update it to getdate() when it is null, or you can pass it from the application when it needs to be a specific time.

The reason Tomas emphasized the importance of setting the time at the server level is because of time zones and other factors.

贱人配狗天长地久 2024-11-26 07:34:26

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

I would look to see if you can place the text current_timestamp directly into the sql code, and skip the parameter entirely. If you can't, then it's time to just use DateTime.Now.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文