将值更新为在SQL中的上一个日期之前有2天

时间:2014-04-22 14:28:56

标签: sql-server vb.net date dateadd

我有一个名为FireTest的表,我在此表中的标准插入是:

    Dim ThisDay As Date = Date.Today
    connection.Open()
    command = New SqlCommand("Insert Into FireTest([Date],[Type],[Comments],[Completed By],[Trans Type]) Values (@Date,@Type,@Comments,@CompletedBy, @TransType)", connection)
    command.Parameters.AddWithValue("@Date", ThisDay)
    command.Parameters.AddWithValue("@Type", DropDownList1.SelectedValue)
    command.Parameters.AddWithValue("@Comments", TextBox1.Text)
    command.Parameters.AddWithValue("@CompletedBy", ThisUser)
    command.Parameters.AddWithValue("@TransType", transType)
    command.ExecuteNonQuery()
    connection.Close()

所以我在SQL TABLE中添加一个新列,进行新的插入

      Dim ThisDay As Date = Date.Today
      connection.Open()
    command = New SqlCommand("Insert Into FireTest([Date],[Due Date],[Type],[Comments],[Completed By],[Trans Type]) Values (@Date,@DueDate,@Type,@Comments,@CompletedBy, @TransType)", connection)
    command.Parameters.AddWithValue("@Date", ThisDay)
    command.Parameters.AddwithValue("@DueDate",???)
    command.Parameters.AddWithValue("@Type", DropDownList1.SelectedValue)
    command.Parameters.AddWithValue("@Comments", TextBox1.Text)
    command.Parameters.AddWithValue("@CompletedBy", ThisUser)
    command.Parameters.AddWithValue("@TransType", transType)
    command.ExecuteNonQuery()
    connection.Close()

我如何将此值插入数据库,但在ThisDay上有+2天?示例:如果ThisDay = '22/04/2014'那么@DueDate的值将为'24/04/2014'我知道它与DATEADD的某些内容有关但我不确定,指导周围帮我实现这个目标?

2 个答案:

答案 0 :(得分:1)

尝试:

command.Parameters.AddwithValue("@DueDate",DATEADD(day, 2, ThisDay));

答案 1 :(得分:1)

每个DateTime对象都有一个set of methods用于此类计算。

在您的情况下,您需要DateTime.AddDays(numberOfDays)

 command.Parameters.AddwithValue("@DueDate",ThisDay.AddDays(2)));

这将在ThisDay的值处添加2天,并创建一个新的DateTime,您将其作为@DueDate的参数传递。尽管它的名称,如果你想从当前日期减去天数,你也应该使用这种方法。在这种情况下,传递的值应为负数。