0

選択した日付に従ってデータを入力する必要がある GridView があるので、Calendar control.

問題

  • Calendar コントロールの選択された日付は DateTime であるため、残念ながら、選択された日付Calendarの形式は次のようになります:dd-MM-yyy
    2013-02-15
  • date fieldデータベース内のタイプの意味datetime次のとおりです。dd-MM-yyyy HH:mm:SS.ms
    2013-02-15 09:02:03.253

したがって、カレンダー コントロールとデータベース フィールドの型が異なるため、結果はありません。


私が試したこと

SqlDataSource1.SelectCommand = "Select * from table1 where start_date Like '% " & calendar1.SelectedDate.Date & " %' "

ご覧のとおり、コード ビハインドで sqldatasource を操作し、使用しましたが、日付だけでなく時間もデータベースにあるため、結果が表示されないLike場合でも使用しました。Like

SQLクエリ自体、正確にはフィールドを変更してstart_date、時刻(HH:mm:SS.ms)を省略することも考えていましたが、そうすることが可能ですか?


編集:

カレンダー コントロールの選択された日付とデータベース内のフィールドが両方とも DateTime であっても、検索は機能しません。カレンダー コントロールで検索すると、そのクエリは日付と時刻の例2013-01-01 00:00:00.000になり、DB では時刻が常に 00:00 であるとは限らないためです。 :00したがって、以下の答えとしてBetweenが必要です。

4

3 に答える 3

1

Calendar.SelectedDateですDateTime。に変更calendar1.SelectedDate.Dateするだけcalendar1.SelectedDateです。

証拠: http://msdn.microsoft.com/ru-ru/library/system.web.ui.webcontrols.calendar.selecteddate.aspx

于 2013-04-08T23:14:47.523 に答える
1

フォーマットは、データを表示する場合にのみ重要です。基本的に、日付は整数で、日時は浮動小数です。

日付ピッカーで選択したものから .net DateTime オブジェクトを作成します。次に、クエリで使用するクエリ パラメータに変換します。

于 2013-04-08T23:57:25.263 に答える