在日期之间过滤数据 - 如何在月份之间获取数据?

时间:2014-07-01 09:28:53

标签: c# .net datetime datetimepicker rowfilter

我有一个.NET控件,它从SQL数据库中读取数据并将其显示在DataGridView中。我使用DateTimePicker来过滤两个日期之间的数据。我在同一个月内工作正常,例如,6月28日 - 6月30日,但是如果我将1月7日设置为结束日期,那么我就没有数据。日期作为日期时间存储在数据库中。你知道什么可能是错的吗?这是我更改值时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;
}

1 个答案:

答案 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;
}