【发布时间】:2016-04-28 01:32:47
【问题描述】:
我正在尝试将 datetimepicker 中的日期保存到 SQL Server 数据库作为用户停用的持续时间,但我只想保存日期月份和年份。 到目前为止,这是我的功能:
Public Sub DeactivateUser(user As String, duration As Date)
Dim query As String
Dim startdate As Date = Date.Parse(Date.Now)
query = "Update SC_User Set Us_duration='" & duration & "','" & "Us_Start='" & startdate & "Where Us_User='" & user & "'"
Access.ExecuteQuery(query)
query = "Update SC_User Set Us_Inactive" & 1 & "Where Us_User='" & user & "'"
Access.ExecuteQuery(query)
MessageBox.Show("User deactivated")
End Sub
这不起作用,但显示了我的想法。
【问题讨论】:
-
据我所知,SQL Server 不支持部分日期。
-
您想要一个持续时间还是一个日期?这是两个不同的东西。
-
这是一个荒谬的声明:
Dim startdate As Date = Date.Parse(Date.Now)。为什么要将Date解析为Date?解析的重点是从String创建一个Date。 -
我正在考虑将“持续时间”变量与也存储的“Stardate”变量进行比较。还有其他方法吗? (我是新手)
-
如果您需要开始日期和结束日期,则存储这些值。如果您需要的是以天为单位的持续时间,那么您可以存储该数字。也就是说,您必须知道开始日期和结束日期才能计算该数字,因此如果需要在结束前一段时间记住开始日期,则可能需要存储开始日期。
标签: sql-server vb.net winforms