我正在開發使用MS-ACCESS作爲後端的Windows應用程序。日期格式在保存記錄時得到更改
我有MS-ACCESS中有Datetime Type Column的表,它包含今天的日期。
我有以下代碼。 (代碼的形式)
Dim oCoupon2 As New Coupon
oCoupon2.LoadByPK(oCoupon.ID)
oCoupon2.RedeemedDate = System.DateTime.Now
oCoupon2.IsRedeemed = "Yes"
oCoupon2.RedeemedCustomerID = .ID
Dim isSuccsess As Integer
isSuccsess = oCoupon2.Save()
代碼保存實體(在業務層代碼)中(在數據層代碼)
Public Overrides Function Save() As Boolean
Try
Dim bSuccess As Boolean = False
SetColumn(IDColumnName, _ID)
SetColumn(CouponNoColumnName, _CouponNo)
SetColumn(ExpDateColumnName, _ExpDate)
SetColumn(IsRedeemedColumnName, _IsRedeemed)
SetColumn(RedeemedDateColumnName, _RedeemedDate)
SetColumn(RedeemedCustomerIDColumnName, _RedeemedCustomerID)
bSuccess = MyBase.Save()
' Ensures that the _DepartmentID is updated with the new Identity value in case of Insert
If bSuccess Then _ID = MyBase.IdentityColumn
Return bSuccess
Catch ex As Exception
End Try
End Function
Protected Sub SetColumn(ByVal ColumnName As String, ByVal Value As Object)
Try
If Not _dict.ContainsKey(ColumnName) Then
_dict.Add(ColumnName, Value)
Else
If Value Is DBNull.Value Then Value = Nothing
_dict(ColumnName) = Value
End If
Catch ex As ArgumentException
' Exception occurs when adding a key that already exists in dictionary. Try replace mode.
Try
_dict(ColumnName) = Value
Catch
_Error = ex
Throw ex
End Try
Catch ex As Exception
_Error = ex
Throw ex
End Try
End Sub
代碼
Public Overridable Function Save() As Boolean
Dim bSuccess As Boolean = False
If _IsAddNew Then
bSuccess = Insert()
If bSuccess Then _IsAddNew = False
Else
bSuccess = Update()
End If
Return bSuccess
End Function
其產生以下查詢同時節省,在VS 2012
UPDATE Coupon SET CouponNo = '262752325',ExpDate = '2/20/2016 00:00:00',IsRedeemed = 'Yes',RedeemedDate = '1/6/2016 20:28:31',RedeemedCustomerID = Null WHERE ID = 17
其設定保存今天的數據,即1-JAN-16,但在保存記錄,它得到保存爲一個1日至16日,請檢查以下內容...
我已經檢查的時間我的機器顯示了完美的時間。即2016年1月1日 我必須檢查哪些設置?
日期沒有格式。格式只是我們如何將它們展示給用戶。如果列*是* DateTime類型,則不應傳遞/存儲字符串值(這顯然是「RedeemedDate」是什麼,否則Option Strict不是)。訪問不顯示原始的,存儲的數據,但爲您(用戶)格式化。這就是說,它正在改變......你可以展示SaveData的功能嗎?也可以嘗試只存儲DateTime.Now而不用幫助格式 - 你可能會混淆它 – Plutonix
請檢查更新的問題...我已經添加了查詢生成,同時保存... – bnil
你明確地設置它爲''1/6/2016 20:28:31''這是文本,而不是日期時間類型的順便說一句,而不是'RedeemedDate'的值,如果你的文化是dd/mm,那麼值將指向6月1日像英國 – Plutonix