【发布时间】:2014-11-10 16:29:17
【问题描述】:
我在处理查询/SQL 代码中的日期时遇到问题。我的区域设置格式为#dd/mm/yyyy#,因此在插入日期以访问数据库时,它看起来像#dd/mm/yyyy#,但通过选择查询我得到#mm/dd/yyyy#
Query = "Select EmpEndDate From Employees_Details Where EmpCode = '" & EmpCode & "';"
Objcmd = New OleDbCommand(Query, ObjConnection)
ObjSelect = Objcmd.ExecuteReader
ObjSelect.Read()
Dim EndDate As DateTime
If Convert.ToString(ObjSelect.GetValue(0)) = vbNullString Then
EndDate = DateTime.Now
Else
EndDate = ObjSelect.GetValue(0)
End If
【问题讨论】:
-
我希望您将 EmpEndDate 列为 DateTime 而不是字符串。
-
#mm/dd/yyyy#是 VS 中显示的表单日期 - 它是明确的,不依赖于文化(这不是错误或问题)。它也是从文字创建日期时使用的顺序/形式。 -
日期/时间@Steve
-
这不是错误或问题。日期在数据库中没有改变,只是它的显示方式。 Access 有自己的 DateTime 列的 Format 属性,这也可能会改变它向您显示的方式,但它不会更改日期值。获取日期并使用
.ToString将其显示到控件或调试窗口中,您将看到它没有更改 -
@Plutonix 你是 100% 正确的,当我使用调试模式时,我只会得到不同的日期格式。当我将鼠标悬停在 EndDate 上时。