2011-09-12 5 views
0

私は、顧客が日付/時刻を入力できるウェブページを持っています。その変数を保存し、その時刻に真夜中まで追加し、それを第2の変数として保存し、 SQL Serverに渡してください。それを行う簡単な方法はありますか?保存された変数から真夜中を見つける

+0

本質的に真夜中まであなたの現在の時間の違いをしたいですか? (つまりタイムスパン) –

答えて

1

を行うことができますを確認します。

var midnightDateNExtDay = DateTime.Now.AddDays(1).Date; 
    //AddDays moves time to next day 
    // Date should omit the time and make it midnight 

あなたは、前または次の日の深夜を意味していますか?次に、このパラメータを使用して、ストアドプロシージャまたはクエリに渡します。

0

違いが必要な場合は、このようなことを行い、SQL Serverに合計秒を渡すことができます。これは、SQLの最後にこれを保存する方法に依存しますか?

 

TimeSpan span = DateTime.Now.Subtract(DateTime.Now.AddDays(1).Date); 
//do whatever with span.TotalSeconds 
 

EDIT また、あなたの手順にこれを送信する方法を知りたいようだ:

ノートこのアプリの設定ファイルに接続文字列の設定を前提としています。それ以外の場合は、ConfigurationManager.ConnectionStrings [0] .ConnectionStringを "server = whatever; uid; whatever; pwd = whatever;"に置き換えます。あなたのテストのために(私はコードにそれらを埋め込まないことをお勧めします)

 

using (SqlConnection connection = new 
SqlConnection(ConfigurationManager.ConnectionStrings[0].ConnectionString)) 

{ 


var midnight = DateTime.Now.AddDays(1).Date; 

    using (SqlCommand command = new SqlCommand("Proc_Whatever", connection)) 
    { 
    command.Parameters.Add(new SqlParameter("@MidnightDate", midnight)); 
    command.CommandType = CommandType.StoredProcedure; 
    connection.Open(); 
    command.ExecuteNonQuery(); 
    } 

} 

+0

Adam、どうすれば変数としてその第2の値を保存するのでしょうか?たとえば、私は次のようなコードを使用しようとしています。DateTime.TryParse(dateTextBox.Text、myDate)Then '変換が成功しました。データはmyDateになりました newDate = myDate.AddDays(1) –

+0

私は私が100%フォローしているかわからないその場合、あなたのDBのintフィールドにspan.TotalSecondsを格納するだけです。より高いレベルから成し遂げようとしているのは、おそらく全体的な問題を攻撃する良い方法があるでしょう。 –

+0

Adam、私はユーザーが開始時刻を入力するテキストボックスを持っています。私のストアドプロシージャは、ユーザーは終了時刻、開始時刻を入力しません。 –

関連する問題