2015-10-02 100 views
0

我在數據庫中有多個1天的事件,需要從午夜到午夜顯示它們。例如,今天的事件將會過期,並且不會從今晚的午夜顯示,並且明天的事件將在今晚午夜或之後顯示。我正在使用'DateTime.Today',但我沒有得到我需要的結果。使用在日期範圍內顯示來自數據庫的記錄

DateTime.Today.ToString("dd/MM/yyyy"); 

而不是

DateTime.Today; 

+0

展代碼請。 – robasaurus

+0

@OP如果你想得到更詳細或者更好的答案,那麼你需要給出更多的信息,比如數據庫是如何構造的(也就是如何調用日期字段)以及如果使用EF或普通SQL ,....以及如果普通的sql查詢的調用方法是什麼樣子。否則只有像目前完成的一般答案是可能的。 – Thomas

回答

0

看起來是這樣的:

SELECT ... FROM ... WHERE somecol = CURDATE() 

其中CURRDATE()返回當前日期。例如今天它將是10/2/2015。

如果您正在使用EF可以使用LINQ,它可以做它看起來像這樣:

db.Events.Where(e => e.Date >= DateTime.Today && e.Date <= DateTime.Today.AddDays(1)).Select(e => e); 

我真的不知道你怎麼分貝的結構,所以我不能更具體

+0

這看起來不錯,但我需要在數據庫中顯示所有其他未來事件,而不僅僅是今天的 –

+0

那好吧。我說我不熟悉你的數據庫。如果你顯示你的數據庫模式,並告訴我們你真正需要什麼,我們可能會弄清楚它是如何看起來像代碼的 –

0

因爲DateTime.Today;將返回日期+時間(12:00:00),這可能不會選擇所有的記錄。所以最好只發送日期而不是時間。

0

使用選擇的SQL語句。如果你是一個簡單的SQL查詢它應該做的獲取纔有了今天的記錄

SELECT * FROM yourTable 
WHERE DateDiff(d,dateCouName, GetDate())=0 
相關問題