2014-07-01 57 views
1

我有一個.NET控件,它從SQL數據庫讀取數據並將其顯示在DataGridView中。我使用DateTimePicker來過濾兩個日期之間的數據。如果我在同一個月內,這可以正常工作,例如28。6月 - 30。6月,但如果我設置1. July作爲結束日期,那麼我不會收到任何數據。日期作爲日期時間存儲在數據庫中。你知道什麼可能是錯的嗎?這是我改變DateTimePicker的代碼。在日期間過濾數據 - 如何在幾個月之間獲取數據?

private void dtpEndDate_ValueChanged(object sender, EventArgs e) 
{ 
    //dtpStartDate and dtpEndDate are my DateTimePickers 
    DateTime start = dtpStartDate.Value; 
    DateTime end = dtpEndDate.Value; 
    dateFilter = string.Format("([{0}] >= '{1}' AND [{0}] <= '{2}')", "Date", start, end); 
    dataTable.DefaultView.RowFilter = dateFilter; 
} 
+0

你使用什麼數據庫? – Steve

+0

在數據庫中存儲的日期是否也包含具有重要值(不是00.00.00)的小時,分​​鍾,秒部分? – Steve

+0

如果你有更多的信息,請編輯你的問題,而不是把東西放在評論。而且,你是否調試過實際生成的字符串? –

回答

0

感謝您的幫助球員。這解決了這個問題:

private void dtpEndDate_ValueChanged(object sender, EventArgs e) 
{ 
    //dtpStartDate and dtpEndDate are my DateTimePickers 
    string start = Convert.ToDateTime(dtpStartDate.Value).ToString("yyyy-MM-dd HH:mm:ss.ff"); 
    string end = Convert.ToDateTime(dtpEndDate.Value).ToString("yyyy-MM-dd HH:mm:ss.ff"); 
    dateFilter = string.Format("([{0}] >= #{1}# AND [{0}] <= #{2}#)", "Date", start, end); 
    dataTable.DefaultView.RowFilter = dateFilter; 
} 
相關問題