2016-04-28 11 views
0

私はdatetimepickerからSQLサーバーデータベースに日付をユーザーの非アクティブ化の期間として保存しようとしていますが、月と年の日のみを保存したいだけです。これは動作しません分と時間なしで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

期間や日付が必要ですか?それらは2つの異なるものです。 –

+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 
関連する問題