2016-04-28 61 views
0

我試圖將日期從datetimepicker保存到SQL Server數據庫作爲用戶停用的持續時間,但我只想保存一天的月份和年份。 這是到目前爲止我的功能:保存日期在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 

這並不工作,但顯示了我的想法。

+0

SQL Server不支持部分日期,據我所知。 –

+0

你想要一個時間或日期嗎?這是兩回事。 –

+0

這是一個荒謬的說法:'Dim startdate As Date = Date.Parse(Date.Now)'。你爲什麼想要將'Date'解析爲'Date'?解析的重點是從'String'創建一個Date。 – jmcilhinney

回答

1

如果你想要今天沒有當前時間,那麼你使用Date.Today。如果您希望沒有時間的日期來自任意DateTime值,那麼您可以使用它的Date屬性,例如,

myDate = myDateTime.Date 

注意,Date屬性仍返回一個DateTime但它的時間部分爲零。如果你想存儲只是在SQL Server中沒有時間的日期,那麼你應該使用date數據類型,它不存儲時

Return Date.Now.Date 

:毫不奇怪,Date.Today屬性來實現這樣的。

0

你可以選擇你會使用字符串的日期喜歡的任何格式:

Dim startdate As String = Now().ToString("MM-dd-yyyy") 
query = "Update SC_User Set Us_duration='" & duration & "','" & "Us_Start='" & startdate & "Where Us_User='" & user & "'" 
Access.ExecuteQuery(query) 

這當然會給你的時間只有幾個月,天,年什麼。

0

的DateTimePicker可以返回基準日

dtPicker.Value.Date