2017-08-01 121 views
0

我在UI服用日期從服務器請求:如何在兩個日期和時間之間從數據庫獲取記錄?

request.date_from = dateTimePickerFromDate.Value; //7/31/2017 12:33:18 PM request.date_to = dateTimePickerToDate.Value; //7/31/2017 12:33:18 PM

數據沒有得到顯示的時間是一樣的date_from和DATE_TO

並在數據庫中我有SQL查詢:

@date_from datetime, @date_to datetime

select Transaction_date from Transaction where (Transaction_Date >= @date_from and Transaction_Date <= @date_to) order by Transaction_date desc

我收到數據,如果我選擇不同的日期,但如果我選擇相同的日期,數據不會顯示,雖然我有數據庫中的記錄,因爲同一時間。

正如我想把日期2017年7月31日00:00:002017年7月31日23:59:59做什麼樣的變化,我需要做無論是在顯示與記錄SQL查詢或在WinForms UI?

+0

如果你使用'@ date_from'相同的日期和'@ date_to',你會只獲得具有確切日期的記錄。就你而言,我認爲,沒有確切的匹配。 – Ben

+1

請閱讀[在什麼情況下,我可以添加「緊急」或其他類似的短語到我的問題,以獲得更快的答案?](/ meta.stackoverflow.com/q/326569) - 總結是,這不是這是解決志願者問題的理想方式,可能會對獲得答案產生反作用。請不要將這添加到您的問題。 – halfer

+0

嘿本,我有數據庫中的記錄讓我們說從** 2017-07-31 10:50:47.043 **和** 2017-07-31 19:07:07.137不等**日期相同,時間不同。所以,如果我選擇相同的日期,我應該能夠在具有相同日期的兩個不同時間之間獲得數據。 – Rudra

回答

1

利用的相互查詢

select * from table where {date_filed} between {start_data} and {end_date}

或者你可以使用

select * from table where {date_filed} >= {start_data} and {date_filed} <= {end_date}

,但在這兩個日期日期字段需要的DateTime或時間戳數據類型以其他方式使用其類型案件STR_TO_DATE使用在mysql查詢中

+0

Priyanka,我正在使用這個:'select Transaction_date from where(Transaction_Date> = @date_from和Transaction_Date <= @date_to)order by Transaction_date desc'這是類似的到'select * from where where {date_filed}> = {start_data}和{date_filed} <= {end_date}'我想。同一日期但不同的時間呢? – Rudra

+0

它的工作日期也是如此(今天早上我已經用過了)這裏表名不見了我確定它的一個錯誤,但我仍然通知你 你的數據類型是datetime還是timestamp? –

+0

這是一個打字錯誤。對於這兩個日期,數據類型都是日期時間。 – Rudra

0

假設你有兩個DatePicker控件形式。我會添加一天到dt_to

var dt_from = dateTimePicker1.Value; 
var dt_to = dateTimePicker2.Value; 
if (dt_from.Date == dt_to.Date) 
    dt_to = dt_to.AddDays(1); 

[更新]

request.date_from = dateTimePickerFromDate.Value; 
request.date_to = dateTimePickerToDate.Value; 
if (request.date_from.Value.Date == request.date_to.Value.Date) 
    request.date_to = dt_to.Value.AddDays(1); 

[更新2]

request.date_from = dateTimePickerFromDate.Value; 
request.date_to = dateTimePickerToDate.Value; 
if (request.date_from.Value.Date == request.date_to.Value.Date) 
    request.date_from = request.date_from.Value.Date; 
+0

它沒有爲我工作。我正在使用Visual Studio 2017,它沒有使用dt_from.Date .Date是不可接受的。 – Rudra

+0

什麼不在使用'dt_from.Date'? – Ben

+0

代碼中dt_from的類型是什麼? – Ben

相關問題